On Thu, Nov 26, 2009 at 12:04:51PM +0900, Isaku Yamahata wrote: > On Wed, Nov 25, 2009 at 06:59:06PM +0200, Michael S. Tsirkin wrote: > > interrupt disable bit is mandatory in PCI spec, > > so we must implement it to be spec compliant. > > > > Signed-off-by: Michael S. Tsirkin <m...@redhat.com> > > --- > > hw/pci.c | 57 ++++++++++++++++++++++++++++++++++++++++----------------- > > hw/pci.h | 4 ++++ > > 2 files changed, 44 insertions(+), 17 deletions(-) > > > > diff --git a/hw/pci.c b/hw/pci.c > > index 844664b..3daae46 100644 > > --- a/hw/pci.c > > +++ b/hw/pci.c > > @@ -114,12 +114,43 @@ static void pci_update_irq_status(PCIDevice *dev) > > } > > } > > > > +static void pci_change_irq_level(PCIDevice *pci_dev, int irq_num, int > > change) > > +{ > > + PCIBus *bus; > > + for (;;) { > > + bus = pci_dev->bus; > > + irq_num = bus->map_irq(pci_dev, irq_num); > > + if (bus->set_irq) > > + break; > > + pci_dev = bus->parent_dev; > > + } > > + bus->irq_count[irq_num] += change; > > + bus->set_irq(bus->irq_opaque, irq_num, bus->irq_count[irq_num] != 0); > > Let's use ! instead of != 0 for consistency.
By the way, this would have to be !!, not !. So not sure there's much consistency to be gained: != appears in pci.c more times than !!. -- MST