c00498c164
The text describes an issue related to the running task in code. The running task is only used when calling the _assert function to indicate the task that was running before an exception occurred. However, the current code only updates the running task during irq_dispatch, which is suitable for ARM-M architecture but not for ARM-A or ARM-R architecture, because their context switches are not done through irq handler. Therefore, if the following process is followed, the value of the running task will be incorrect: 1. task1 is running, this_task()=task1 2. do_irq is executed, setting running task()=task1 3. task1 switches to task2 4. task2 is running and generates a data abort 5. In the data abort, the _assert function is called, and the running task obtained is still task1, but the actual task that generated the exception is task2. Signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com> |
||
---|---|---|
.. | ||
include | ||
src | ||
Kconfig |