qemu/target/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
..
core-dc232b target/xtensa: drop num_[core_]regs from dc232b/dc233c configs 2018-11-20 12:20:41 -08:00
core-dc233c target/xtensa: drop num_[core_]regs from dc232b/dc233c configs 2018-11-20 12:20:41 -08:00
core-de212 target/xtensa: Clean up core-isa.h header guards 2019-05-13 08:58:55 +02:00
core-fsf Remove unnecessary variables for function return value 2018-05-20 08:48:13 +03:00
core-sample_controller target/xtensa: Clean up core-isa.h header guards 2019-05-13 08:58:55 +02:00
core-test_kc705_be target/xtensa: Clean up core-isa.h header guards 2019-05-13 08:58:55 +02:00
core-test_mmuhifi_c3 target/xtensa: Clean up core-isa.h header guards 2019-05-13 08:58:55 +02:00
core-dc232b.c target/xtensa: drop num_[core_]regs from dc232b/dc233c configs 2018-11-20 12:20:41 -08:00
core-dc233c.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
core-de212.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
core-fsf.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
core-sample_controller.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
core-test_kc705_be.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
core-test_mmuhifi_c3.c target/xtensa: add test_mmuhifi_c3 core 2019-01-28 11:55:20 -08:00
cpu-param.h tcg: Split out target/arch/cpu-param.h 2019-06-10 07:03:34 -07:00
cpu-qom.h hw/core: Move cpu.c, cpu.h from qom/ to hw/core/ 2019-08-21 13:24:01 +02:00
cpu.c target/xtensa: linux-user: add call0 ABI support 2019-09-11 08:47:06 +02:00
cpu.h target/xtensa: linux-user: add call0 ABI support 2019-09-11 08:47:06 +02:00
dbg_helper.c target/xtensa: Use env_cpu, env_archcpu 2019-06-10 07:03:42 -07:00
exc_helper.c target/xtensa: Use env_cpu, env_archcpu 2019-06-10 07:03:42 -07:00
fpu_helper.c target/xtensa: extract FPU helpers 2019-01-13 23:33:42 -08:00
gdbstub.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
helper.c target/xtensa: Use env_cpu, env_archcpu 2019-06-10 07:03:42 -07:00
helper.h target/xtensa: implement exclusive access option 2019-05-15 10:31:52 -07:00
import_core.sh target/xtensa/import_core.sh: don't add duplicate 'static' 2019-02-08 19:37:45 -08:00
Makefile.objs target/xtensa: add test_mmuhifi_c3 core 2019-01-28 11:55:20 -08:00
mmu_helper.c target/xtensa: Use env_cpu, env_archcpu 2019-06-10 07:03:42 -07:00
monitor.c hmp: Move hmp.h to include/monitor/ 2019-07-02 07:19:45 +02:00
op_helper.c target/xtensa: implement exclusive access option 2019-05-15 10:31:52 -07:00
overlay_tool.h target/xtensa: implement exclusive access option 2019-05-15 10:31:52 -07:00
translate.c icount: remove unnecessary gen_io_end calls 2019-08-20 17:26:22 +02:00
win_helper.c target/xtensa: only rotate window in the retw helper 2019-02-28 04:43:22 -08:00
xtensa-isa-internal.h Clean up decorations and whitespace around header guards 2019-05-13 08:58:55 +02:00
xtensa-isa.c Clean up includes 2018-02-09 05:05:11 +01:00
xtensa-isa.h Use #include "..." for our own headers, <...> for others 2018-02-09 05:05:11 +01:00
xtensa-semi.c Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00