On Mon, Sep 30, 2013 at 11:14:56AM +0300, Marcel Apfelbaum wrote: > On Sun, 2013-09-29 at 18:06 +0300, Michael S. Tsirkin wrote: > > On Sun, Sep 29, 2013 at 05:40:54PM +0300, Marcel Apfelbaum wrote: > > > 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. > > > > Looks good overall. > > As a next step, can we make pci_set_irq non-inline and make > > it call pci_irq_handler directly, and get rid of the irq field? > What irq field?
/* IRQ objects for the INTA-INTD pins. */ qemu_irq *irq; > Thanks, > Marcel > > > > > This way we know no one is using it directly ... > > > > > 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 > >