qemu-e2k/linux-user/xtensa
Max Filippov 130ea8322b target/xtensa: linux-user: add call0 ABI support
Xtensa binaries built for call0 ABI don't rotate register window on
function calls and returns. Invocation of signal handlers from the
kernel is therefore different in windowed and call0 ABIs.
There's currently no way to determine xtensa ELF binary ABI from the
binary itself. Add handler for the -xtensa-abi-call0 command line
parameter/QEMU_XTENSA_ABI_CALL0 envitonment variable to the qemu-user
and record ABI choice. Use it to initialize PS.WOE in xtensa_cpu_reset.
Check PS.WOE in setup_rt_frame to determine how a signal should be
delivered.

Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Message-Id: <20190906165713.5558-1-jcmvbkbc@gmail.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
2019-09-11 08:47:06 +02:00
..
cpu_loop.c target/xtensa: Use env_cpu, env_archcpu 2019-06-10 07:03:42 -07:00
signal.c target/xtensa: linux-user: add call0 ABI support 2019-09-11 08:47:06 +02:00
sockbits.h linux-user: move socket.h generic definitions to generic/sockbits.h 2018-05-25 10:10:55 +02:00
syscall_nr.h Clean up ill-advised or unusual header guards 2019-05-13 08:58:55 +02:00
target_cpu.h linux-user: move get_sp_from_cpustate() to target_cpu.h 2018-06-04 01:30:44 +02:00
target_elf.h target/xtensa: add linux-user support 2018-03-16 09:40:34 -07:00
target_fcntl.h linux-user: move generic fcntl definitions to generic/fcntl.h 2018-06-04 01:30:43 +02:00
target_flat.h Supply missing header guards 2019-06-12 13:20:21 +02:00
target_signal.h linux-user: move generic signal definitions to generic/signal.h 2018-06-04 01:30:44 +02:00
target_structs.h Clean up ill-advised or unusual header guards 2019-05-13 08:58:55 +02:00
target_syscall.h target/xtensa: add linux-user support 2018-03-16 09:40:34 -07:00
termbits.h Clean up ill-advised or unusual header guards 2019-05-13 08:58:55 +02:00