zephyr/arch/arc
Chuck Jordan 0ca24cedda arc: trap handler, used by irq_offload, now handles thread switch
It was found that the test latency_measure, when compiled
for microkernel, would fail on the ARC. This because the
trap handler, used by irq_offload, wasn't supporting thread switching.
This submission adds the code to do that, and the code size is
bigger only when CONFIG_MICROKERNEL is defined.

To keep code a bit smaller, there is a trick exploited here where
the AE bit is cleared in the STATUS32 register and in AUX_IRQ_ACT,
bit 1 is set, to make it appear as if the machine has interrupted
at priority 1 level. It then can jump into some common interrupt
exit code for regular interrupts and perform an RTIE instruction
to switch into the new thread.

test/latency_measure/microkernel now passes.

Change-Id: I1872a80bb09a259814540567f51721203201679a
Signed-off-by: Chuck Jordan <cjordan@synopsys.com>
2016-05-27 21:11:24 +00:00
..
core arc: trap handler, used by irq_offload, now handles thread switch 2016-05-27 21:11:24 +00:00
include
soc build: Introduce concept of SoC specific build flags 2016-05-27 10:04:29 -05:00
defconfig
Kbuild
Kconfig
Makefile build: Introduce concept of SoC specific build flags 2016-05-27 10:04:29 -05:00