Hi, This is an experimental series to reduce calls to the cpu_interrupt() API from generic HW/. I'm trying to use the ICH9 chipset from a non-x86 machine. Without this experiment, we can not because cpu_interrupt() is target specific. Here the interrupt is decoupled using the QDev GPIO API. Even if the SMI# line is left unconnected, the device is still usable by a guest.
Based-on: <20240226111416.39217-1-phi...@linaro.org> Philippe Mathieu-Daudé (5): target/i386/cpu: Expose SMI# IRQ line via QDev hw/i386/piix: Set CPU SMI# interrupt using QDev GPIO API hw/ahci/ich9_tco: Set CPU SMI# interrupt using QDev GPIO API hw/i386/q35: Wire virtual SMI# lines to ICH9 chipset hw/isa: Build ich9_lpc.c once include/hw/acpi/ich9.h | 1 + include/hw/acpi/ich9_tco.h | 4 ++-- include/hw/i386/pc.h | 2 -- include/hw/isa/ich9_lpc.h | 12 ++++++++++++ include/hw/southbridge/ich9.h | 1 + target/i386/cpu-internal.h | 1 + hw/acpi/ich9.c | 3 ++- hw/acpi/ich9_tco.c | 13 ++++++++++--- hw/i386/pc.c | 9 --------- hw/i386/pc_piix.c | 4 ++-- hw/i386/pc_q35.c | 26 ++++++++++++++++++++++++++ hw/isa/ich9_lpc.c | 15 ++++----------- hw/southbridge/ich9.c | 1 + target/i386/cpu-sysemu.c | 11 +++++++++++ target/i386/cpu.c | 2 ++ hw/isa/meson.build | 3 +-- 16 files changed, 76 insertions(+), 32 deletions(-) -- 2.41.0