The current context preservation implementation saves the spsr and lr_irq registers, which contain the cpsr and pc register values of the interrupted context, in the thread callee-saved block and this prevents nesting of interrupts because these values are required to be part of the exception stack frame to preserve the nested interrupt context. This commit reworks the AArch32 non-Cortex-M context preservation implementation to save the spsr and lr_irq registers in the exception stack frame to allow preservation of the nested interrupt context as well as the interrupted thread context. Signed-off-by: Stephanos Ioannidis <root@stephanos.io> |
||
---|---|---|
.. | ||
arc | ||
arm | ||
common | ||
nios2 | ||
posix | ||
riscv | ||
x86 | ||
xtensa | ||
arch_inlines.h | ||
cpu.h | ||
syscall.h |