metag: handle low level kicks directly
authorJames Hogan <james.hogan@imgtec.com>
Tue, 5 Nov 2013 14:42:03 +0000 (14:42 +0000)
committerJames Hogan <james.hogan@imgtec.com>
Wed, 6 Nov 2013 10:40:02 +0000 (10:40 +0000)
commit95281171a713f4d32f1a044b937563ec7776ccfe
tree3071f6b6caa68a38348b4996dc873f2b0aa3014a
parent5e01dc7b26d9f24f39abace5da98ccbd6a5ceb52
metag: handle low level kicks directly

Kick interrupts trigger the LWK (low level kick) signal, usually handled
by the __TBIDoStdLWK() function which is the only handler inherited from
the bootloader. The LWK signal is converted either to a SWK (plain
software kick) or a SWS (software kick with an attached message).

Linux has kick_handler() to handle SWK and call registered kick handlers
(IPIs and inter-thread comms), but SWS is as far as I'm aware unused
with Linux.

Therefore remove that abstraction and have Linux handle LWK directly.
This will reduce kick latency slightly, and reduce our dependence on the
bootloader, which makes it easier to directly boot a kernel in QEMU
(particularly for SMP).

Signed-off-by: James Hogan <james.hogan@imgtec.com>
arch/metag/include/asm/tbx.h
arch/metag/kernel/setup.c
arch/metag/kernel/traps.c
arch/metag/tbx/tbidefr.S