]> asedeno.scripts.mit.edu Git - linux.git/commit
xtensa: add support for call0 ABI in userspace
authorMax Filippov <jcmvbkbc@gmail.com>
Mon, 12 Jan 2015 06:44:44 +0000 (09:44 +0300)
committerMax Filippov <jcmvbkbc@gmail.com>
Sun, 1 Sep 2019 20:11:57 +0000 (13:11 -0700)
commit09f8a6db20e6ed8eab1b2b23d09d2458f6e15062
tree1c3b6baee5c51968f10d2af9c97e35208542ed53
parent9e1e41c44782741c727688a19e5624d039b0de7e
xtensa: add support for call0 ABI in userspace

Provide a Kconfig choice to select whether only the default ABI, only
call0 ABI or both are supported. The default for XEA2 is windowed, but
it may change for XEA3. Call0 only runs userspace with PS.WOE disabled.
Supporting both windowed and call0 ABIs is tricky, as there's no
indication in the ELF binaries which ABI they use. So it is done by
probing: each process is started with PS.WOE disabled, but the handler
of an illegal instruction exception taken with PS.WOE retries faulting
instruction after enabling PS.WOE. It must happen before any signal is
delivered to the process, otherwise it may be delivered incorrectly.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
arch/xtensa/Kconfig
arch/xtensa/include/asm/processor.h
arch/xtensa/kernel/entry.S
arch/xtensa/kernel/signal.c
arch/xtensa/kernel/stacktrace.c
arch/xtensa/kernel/traps.c