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.
Please review,
Phil.
Philippe Mathieu-Daudé (24):
target/xtensa: Restrict do_transaction_failed() to sysemu
target/i386: Restrict sysemu-only fpu_helper helpers
target/i386: Simplify TARGET_X86_64 #ifdef'ry
accel/tcg: Rename user-mode do_interrupt hack as fake_user_exception
accel/tcg: Assert most of cpu_handle_interrupt() is sysemu-specific
target/alpha: Restrict cpu_exec_interrupt() handler to sysemu
target/arm: Restrict cpu_exec_interrupt() handler to sysemu
target/avr: 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/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/avr/cpu.h | 2 ++
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 | 2 +-
target/avr/helper.c | 2 ++
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 | 14 +++-----------
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 ++++--
55 files changed, 138 insertions(+), 189 deletions(-)
--
2.31.1