The 'hwaddr' type declared in "exec/hwaddr.h" is meant for system-mode emulation only. Poison it in user-mode code.
Philippe Mathieu-Daudé (11): plugins: Restrict functions handling hwaddr to system-mode sysemu/accel: Restrict machine methods to system-mode sysemu/tcg: Only declare tcg_allowed when TCG is available sysemu/hvf: Only declare hvf_allowed when HVF is available target/ppc: Restrict PPCVirtualHypervisorClass to system-mode target/s390x: Only compile decode_basedisp() on system-mode target/s390x/helper: Clean ifdef'ry target/s390x: Restrict system-mode declarations target/cpu: Restrict handlers using hwaddr type to system-mode exec: Use 'cpu-common.h' instead of system-mode specific 'hwaddr.h' exec/cpu-common: Poison hwaddr type in user-mode emulation include/disas/disas.h | 2 +- include/exec/cpu-common.h | 8 ++++++-- include/hw/core/cpu.h | 10 ++++++---- include/qemu/qemu-plugin.h | 2 ++ include/sysemu/accel.h | 4 +++- include/sysemu/hvf.h | 6 +++--- include/sysemu/tcg.h | 2 +- target/alpha/cpu.h | 4 +++- target/arm/cpu.h | 6 +++--- target/arm/internals.h | 4 ++++ target/cris/cpu.h | 2 ++ target/hppa/cpu.h | 2 +- target/i386/cpu.h | 2 ++ target/m68k/cpu.h | 7 ++++++- target/microblaze/cpu.h | 5 ++++- target/mips/internal.h | 2 +- target/nios2/cpu.h | 5 ++++- target/openrisc/cpu.h | 3 ++- target/ppc/cpu.h | 6 +++--- target/ppc/kvm_ppc.h | 22 +++++++++++----------- target/riscv/cpu.h | 20 ++++++++++---------- target/s390x/internal.h | 15 ++++++++++----- target/sh4/cpu.h | 2 +- target/sparc/cpu.h | 2 ++ target/xtensa/cpu.h | 12 +++++++----- plugins/api.c | 17 ++--------------- target/hppa/cpu.c | 4 +++- target/ppc/translate_init.inc.c | 6 +++++- target/s390x/helper.c | 7 ++----- 29 files changed, 110 insertions(+), 79 deletions(-) -- 2.21.3