qemu-e2k/hw
David Woodhouse 2aff696b10 hw/xen: Support HVM_PARAM_CALLBACK_TYPE_PCI_INTX callback
The guest is permitted to specify an arbitrary domain/bus/device/function
and INTX pin from which the callback IRQ shall appear to have come.

In QEMU we can only easily do this for devices that actually exist, and
even that requires us "knowing" that it's a PCMachine in order to find
the PCI root bus — although that's OK really because it's always true.

We also don't get to get notified of INTX routing changes, because we
can't do that as a passive observer; if we try to register a notifier
it will overwrite any existing notifier callback on the device.

But in practice, guests using PCI_INTX will only ever use pin A on the
Xen platform device, and won't swizzle the INTX routing after they set
it up. So this is just fine.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
2023-03-01 09:07:50 +00:00
..
9pfs Don't include headers already included by qemu/osdep.h 2023-02-08 07:28:05 +01:00
acpi hw: Move ich9.h to southbridge/ 2023-02-27 22:29:01 +01:00
adc
alpha Drop duplicate #include 2023-02-08 07:28:05 +01:00
arm hw/ide: Rename ide_create_drive() -> ide_bus_create_drive() 2023-02-27 22:29:02 +01:00
audio hw/audio/ac97: Split off some definitions to a header 2023-02-27 22:29:02 +01:00
avr
block hw: Replace isa_get_irq() by isa_bus_get_irq() when ISABus is available 2023-02-27 22:29:02 +01:00
char hw/char/xilinx_uartlite: Expose XILINX_UARTLITE QOM type 2023-02-27 13:27:05 +00:00
core hw/qdev: Constify DeviceState* argument of qdev_get_parent_bus() 2023-02-27 22:29:01 +01:00
cpu
cris
cxl
display hw/display/sm501: Add fallbacks to pixman routines 2023-02-27 22:29:02 +01:00
dma hw/isa: Rename isa_get_dma() -> isa_bus_get_dma() 2023-02-27 22:29:02 +01:00
gpio hw/gpio/max7310: Simplify max7310_realize() 2023-02-27 13:27:04 +00:00
hppa hw/isa: Rename isa_bus_irqs() -> isa_bus_register_input_irqs() 2023-02-27 22:29:02 +01:00
hyperv
i2c hw: Move ich9.h to southbridge/ 2023-02-27 22:29:01 +01:00
i386 hw/xen: Support HVM_PARAM_CALLBACK_TYPE_PCI_INTX callback 2023-03-01 09:07:50 +00:00
ide hw/ide/via: Replace magic 2 value by ARRAY_SIZE / MAX_IDE_DEVS 2023-02-27 22:29:02 +01:00
input
intc hw/intc/i8259: Document i8259_init() 2023-02-27 22:29:01 +01:00
ipack
ipmi
isa hw/rtc/mc146818rtc: Rename RTCState -> MC146818RtcState 2023-02-27 22:29:02 +01:00
loongarch Drop duplicate #include 2023-02-08 07:28:05 +01:00
m68k
mem hw/sparse-mem: clear memory on reset 2023-02-16 22:05:46 -05:00
microblaze hw/char/xilinx_uartlite: Open-code xilinx_uartlite_create() 2023-02-27 13:27:05 +00:00
mips hw/isa: Rename isa_bus_irqs() -> isa_bus_register_input_irqs() 2023-02-27 22:29:02 +01:00
misc hw/ide: Un-inline ide_set_irq() 2023-02-27 22:29:02 +01:00
net rocker: Tweak stubbed out monitor commands' error messages 2023-02-23 14:10:17 +01:00
nios2
nubus hw/nubus/nubus-device: Fix memory leak in nubus_device_realize 2023-02-27 22:29:01 +01:00
nvme
nvram
openrisc
pci hw/pci: Fix a typo 2023-02-27 22:29:01 +01:00
pci-bridge hw: Move ich9.h to southbridge/ 2023-02-27 22:29:01 +01:00
pci-host target-arm queue: 2023-02-27 14:46:00 +00:00
pcmcia
ppc hw/ppc/sam460ex: Correctly set MAL properties 2023-02-27 22:29:02 +01:00
rdma Drop duplicate #include 2023-02-08 07:28:05 +01:00
remote Drop duplicate #include 2023-02-08 07:28:05 +01:00
riscv hw/riscv/boot.c: make riscv_load_initrd() static 2023-02-16 07:55:37 -08:00
rtc hw/rtc: Rename rtc_[get|set]_memory -> mc146818rtc_[get|set]_cmos_data 2023-02-27 22:29:02 +01:00
rx
s390x s390x/pv: Add support for asynchronous teardown for reboot 2023-02-27 09:15:39 +01:00
scsi Updated the FSF address to <https://www.gnu.org/licenses/> 2023-02-27 09:15:39 +01:00
sd
sensor Do not include hw/hw.h if it is not necessary 2023-02-27 09:15:38 +01:00
sh4 hw/ide/mmio: Extract TYPE_MMIO_IDE declarations to 'hw/ide/mmio.h' 2023-02-27 22:29:02 +01:00
smbios hw/smbios: Dumb down smbios_entry_add() stub 2023-02-23 14:10:17 +01:00
sparc
sparc64 hw/ide: Un-inline ide_set_irq() 2023-02-27 22:29:02 +01:00
ssi hw/ssi: Add Nuvoton PSPI Module 2023-02-16 16:00:48 +00:00
timer hw/timer/hpet: Include missing 'hw/qdev-properties.h' header 2023-02-27 22:29:02 +01:00
tpm
tricore
usb hw/usb/xhci-nec: Replace container_of() by NEC_XHCI() QOM cast macro 2023-02-27 22:29:02 +01:00
vfio hw/vfio/ccw: Replace DO_UPCAST(VFIOCCWDevice) by VFIO_CCW() 2023-02-27 09:15:38 +01:00
virtio vhost-user-fs: Back up vqs before cleaning up vhost_dev 2023-02-09 10:21:11 -05:00
watchdog
xen xen: add CONFIG_XEN_BUS and CONFIG_XEN_EMU options for Xen emulation 2023-03-01 08:22:49 +00:00
xenpv
xtensa
Kconfig xen: add CONFIG_XEN_BUS and CONFIG_XEN_EMU options for Xen emulation 2023-03-01 08:22:49 +00:00
meson.build