nuttx/arch/arm64
zhangyuan21 c00498c164 arch/arm: update running task when context switch occurred
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>
2023-04-19 10:14:05 +09:00
..
include arm64: ARMv8-r(Cortex-R82) support( add FVP platform ) 2023-03-02 13:33:15 +08:00
src arch/arm: update running task when context switch occurred 2023-04-19 10:14:05 +09:00
Kconfig arch/arm: enable eoimode only select CONFIG_XXX_GIC_EOIMODE 2023-04-11 08:54:45 +02:00