Interrupt pin is selected and saved into PCI_INTERRUPT_PIN register during device initialization. Devices should not call directly qemu_set_irq and specify the INTx pin.
Replaced the call to qemu_set_irq with a new wrapper pci_set_irq which triggers the irq based on PCI_INTERRUPT_PIN. Marcel Apfelbaum (3): hw/pci: set irq without selecting INTx pin hw/pci-bridge: set PCI_INTERRUPT_PIN register before shpc init hw: assert/deassert interrupts using pci_set_irq wrapper hw/audio/ac97.c | 4 ++-- hw/audio/es1370.c | 2 +- hw/audio/intel-hda.c | 2 +- hw/char/serial-pci.c | 2 +- hw/char/tpci200.c | 4 ++-- hw/display/qxl.c | 2 +- hw/ide/cmd646.c | 2 +- hw/isa/vt82c686.c | 2 +- hw/misc/ivshmem.c | 2 +- hw/net/e1000.c | 2 +- hw/net/rtl8139.c | 2 +- hw/pci-bridge/pci_bridge_dev.c | 2 +- hw/pci/pci.c | 6 +++--- hw/pci/shpc.c | 2 +- hw/scsi/lsi53c895a.c | 2 +- hw/scsi/vmw_pvscsi.c | 2 +- hw/virtio/virtio-pci.c | 4 ++-- include/hw/pci/pci.h | 7 +++++++ 18 files changed, 29 insertions(+), 22 deletions(-) -- 1.8.3.1