Missing review: - 01 target/avr: Remove pointless use of CONFIG_USER_ONLY definition - 11 target/i386: Move x86_cpu_exec_interrupt() under sysemu/ folder
Hi, The TCGCPUOps::cpu_exec_interrupt() handler is specific to system emulation. This series remove it from user-mode. To do so we have to deal with a x86-hack first, then we restrict each target handler (one target at a time) and finally we restrict the prototype, simplifying cpu_handle_interrupt(). As a bonus we can remove the cpu_get_pic_interrupt() stubs from bsd/linux-user. Since v1: - Addressed Richard comments (drop AVR patch, remove assert) - Added R-b Philippe Mathieu-Daudé (24): target/avr: Remove pointless use of CONFIG_USER_ONLY definition target/i386: Restrict sysemu-only fpu_helper helpers target/i386: Simplify TARGET_X86_64 #ifdef'ry target/xtensa: Restrict do_transaction_failed() to sysemu accel/tcg: Rename user-mode do_interrupt hack as fake_user_interrupt target/alpha: Restrict cpu_exec_interrupt() handler to sysemu target/arm: Restrict cpu_exec_interrupt() handler to sysemu target/cris: Restrict cpu_exec_interrupt() handler to sysemu target/hppa: Restrict cpu_exec_interrupt() handler to sysemu target/i386: Restrict cpu_exec_interrupt() handler to sysemu target/i386: Move x86_cpu_exec_interrupt() under sysemu/ folder target/m68k: Restrict cpu_exec_interrupt() handler to sysemu target/microblaze: Restrict cpu_exec_interrupt() handler to sysemu target/mips: Restrict cpu_exec_interrupt() handler to sysemu target/nios2: Restrict cpu_exec_interrupt() handler to sysemu target/openrisc: Restrict cpu_exec_interrupt() handler to sysemu target/ppc: Restrict cpu_exec_interrupt() handler to sysemu target/riscv: Restrict cpu_exec_interrupt() handler to sysemu target/sh4: Restrict cpu_exec_interrupt() handler to sysemu target/sparc: Restrict cpu_exec_interrupt() handler to sysemu target/rx: Restrict cpu_exec_interrupt() handler to sysemu target/xtensa: Restrict cpu_exec_interrupt() handler to sysemu accel/tcg: Restrict TCGCPUOps::cpu_exec_interrupt() to sysemu user: Remove cpu_get_pic_interrupt() stubs include/hw/core/tcg-cpu-ops.h | 26 ++++++---- target/alpha/cpu.h | 2 +- target/arm/cpu.h | 3 +- target/cris/cpu.h | 2 +- target/hppa/cpu.h | 4 +- target/i386/cpu.h | 3 ++ target/i386/tcg/helper-tcg.h | 2 + target/m68k/cpu.h | 2 + target/microblaze/cpu.h | 2 + target/mips/tcg/tcg-internal.h | 5 +- target/openrisc/cpu.h | 5 +- target/ppc/cpu.h | 4 +- target/riscv/cpu.h | 2 +- target/rx/cpu.h | 2 + target/sh4/cpu.h | 4 +- target/xtensa/cpu.h | 2 + accel/tcg/cpu-exec.c | 14 ++++-- bsd-user/main.c | 7 --- linux-user/main.c | 7 --- target/alpha/cpu.c | 2 +- target/alpha/helper.c | 5 +- target/arm/cpu.c | 7 ++- target/arm/cpu_tcg.c | 6 +-- target/avr/cpu.c | 3 -- target/cris/cpu.c | 4 +- target/cris/helper.c | 17 +------ target/hppa/cpu.c | 2 +- target/hppa/int_helper.c | 7 +-- target/i386/tcg/seg_helper.c | 74 +---------------------------- target/i386/tcg/sysemu/seg_helper.c | 65 +++++++++++++++++++++++++ target/i386/tcg/tcg-cpu.c | 8 ++-- target/m68k/cpu.c | 2 +- target/m68k/op_helper.c | 16 ++----- target/microblaze/cpu.c | 2 +- target/microblaze/helper.c | 13 +---- target/mips/cpu.c | 2 +- target/mips/tcg/exception.c | 18 ------- target/mips/tcg/sysemu/tlb_helper.c | 18 +++++++ target/mips/tcg/user/tlb_helper.c | 5 -- target/nios2/cpu.c | 5 +- target/openrisc/cpu.c | 2 +- target/openrisc/interrupt.c | 2 - target/ppc/cpu_init.c | 2 +- target/ppc/excp_helper.c | 21 ++------ target/riscv/cpu.c | 2 +- target/riscv/cpu_helper.c | 5 -- target/rx/cpu.c | 2 +- target/rx/helper.c | 4 ++ target/sh4/cpu.c | 2 +- target/sh4/helper.c | 9 +--- target/sparc/cpu.c | 4 +- target/xtensa/cpu.c | 2 +- target/xtensa/exc_helper.c | 7 +-- target/openrisc/meson.build | 6 ++- 54 files changed, 196 insertions(+), 253 deletions(-) -- 2.31.1