Hello, this series adds linux-user support for target/xtensa. It starts with a small cleanup for xtensa registers dumping. It adds support for debugging linux-user process with xtensa-linux-gdb (as opposed to xtensa-elf-gdb), which can only access unprivileged registers. It then enables MTTCG for xtensa. It continues with a cleanup in linux-user/mmap area making sure that it works correctly with limited 30-bit-wide user address space. It then imports xtensa-specific definitions from the linux kernel, conditionalizes user-only/softmmu-only code and adds handlers for signals exceptions, process/thread creation and core registers dumping.
Max Filippov (11): target/xtensa: dump correct physical registers target/xtensa: mark register windows in the dump target/xtensa: use correct number of registers in gdbstub target/xtensa: support MTTCG linux-user: fix mmap/munmap/mprotect/mremap/shmat linux-user: fix assertion in shmdt linux-user: fix target_mprotect/target_munmap error return values linux-user: drop unused target_msync function target/xtensa: add linux-user support qemu-binfmt-conf.sh: add qemu-xtensa MAINTAINERS: fix W: address for xtensa MAINTAINERS | 2 +- configure | 1 + default-configs/xtensa-linux-user.mak | 1 + default-configs/xtensaeb-linux-user.mak | 1 + include/exec/cpu-all.h | 2 +- include/exec/cpu_ldst.h | 12 +- linux-user/elfload.c | 58 +++++ linux-user/main.c | 245 ++++++++++++++++++ linux-user/mmap.c | 43 ++-- linux-user/qemu.h | 1 - linux-user/signal.c | 257 ++++++++++++++++++- linux-user/syscall.c | 13 +- linux-user/syscall_defs.h | 65 ++++- linux-user/xtensa/syscall.h | 0 linux-user/xtensa/syscall_nr.h | 437 ++++++++++++++++++++++++++++++++ linux-user/xtensa/target_cpu.h | 22 ++ linux-user/xtensa/target_elf.h | 16 ++ linux-user/xtensa/target_signal.h | 28 ++ linux-user/xtensa/target_structs.h | 28 ++ linux-user/xtensa/target_syscall.h | 49 ++++ linux-user/xtensa/termbits.h | 327 ++++++++++++++++++++++++ scripts/qemu-binfmt-conf.sh | 12 +- target/xtensa/Makefile.objs | 3 +- target/xtensa/cpu.c | 26 +- target/xtensa/cpu.h | 60 +++-- target/xtensa/gdbstub.c | 14 +- target/xtensa/helper.c | 58 ++++- target/xtensa/helper.h | 4 + target/xtensa/op_helper.c | 50 +++- target/xtensa/overlay_tool.h | 11 +- target/xtensa/translate.c | 99 ++++++-- 31 files changed, 1835 insertions(+), 110 deletions(-) create mode 100644 default-configs/xtensa-linux-user.mak create mode 100644 default-configs/xtensaeb-linux-user.mak create mode 100644 linux-user/xtensa/syscall.h create mode 100644 linux-user/xtensa/syscall_nr.h create mode 100644 linux-user/xtensa/target_cpu.h create mode 100644 linux-user/xtensa/target_elf.h create mode 100644 linux-user/xtensa/target_signal.h create mode 100644 linux-user/xtensa/target_structs.h create mode 100644 linux-user/xtensa/target_syscall.h create mode 100644 linux-user/xtensa/termbits.h -- 2.11.0