zephyr/arch
Benjamin Walsh 5986ec040b arc: fix race condition when returning from interrupt
A race condition would happend if a FIRQ interrupted a
return-from-interrupt from a RIRQ at the wrong moment: if a decision was
already taken which thread to context switch in and the FIRQ woke up
another thread of higher priority, the ready queue would be corrupted.

The solution is to lock interrupts at the moment the interrupt return
code starts looking at the kernel queues. Interrupts do not need to be
unlocked before exiting: the return-from-interrupt (rtie) instruction
will restore the correct interrupt locking state for the thread being
context switched in.

Change-Id: I777665c2faeca7b1f2a77ddd9ee2a520080bae88
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
2016-11-08 22:50:14 +00:00
..
arc arc: fix race condition when returning from interrupt 2016-11-08 22:50:14 +00:00
arm kernel: Rename USE_FP and USE_SSE symbols 2016-11-07 18:52:31 +00:00
nios2 kernel: Rename USE_FP and USE_SSE symbols 2016-11-07 18:52:31 +00:00
x86 x86: remove CONFIG_NANOKERNEL references 2016-11-08 22:02:45 +00:00
Kconfig arm: move atomic operations selection to the Cortex-M Kconfig 2016-10-11 20:47:49 +00:00
Makefile arch/Makefile: simplify 2016-04-27 21:40:19 +00:00