Revision 7c7b829e

b/hw/apb_pci.c
350 350
    pci_create_simple(d->bus, 0, "pbm");
351 351

  
352 352
    /* APB secondary busses */
353
    *bus2 = pci_bridge_init(d->bus, PCI_DEVFN(1, 0),
353
    *bus2 = pci_bridge_init(d->bus, PCI_DEVFN(1, 0), true,
354 354
                            PCI_VENDOR_ID_SUN, PCI_DEVICE_ID_SUN_SIMBA,
355 355
                            pci_apb_map_irq,
356 356
                            "Advanced PCI Bus secondary bridge 1");
357 357
    apb_pci_bridge_init(*bus2);
358 358

  
359
    *bus3 = pci_bridge_init(d->bus, PCI_DEVFN(1, 1),
359
    *bus3 = pci_bridge_init(d->bus, PCI_DEVFN(1, 1), true,
360 360
                            PCI_VENDOR_ID_SUN, PCI_DEVICE_ID_SUN_SIMBA,
361 361
                            pci_apb_map_irq,
362 362
                            "Advanced PCI Bus secondary bridge 2");
b/hw/dec_pci.c
55 55

  
56 56
    dev = qdev_create(NULL, "dec-21154");
57 57
    qdev_init_nofail(dev);
58
    ret = pci_bridge_init(parent_bus, devfn,
58
    ret = pci_bridge_init(parent_bus, devfn, false,
59 59
                          PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_21154,
60 60
                          dec_map_irq, "DEC 21154 PCI-PCI bridge");
61 61

  
b/hw/pci.c
1580 1580
    return 0;
1581 1581
}
1582 1582

  
1583
PCIBus *pci_bridge_init(PCIBus *bus, int devfn, uint16_t vid, uint16_t did,
1583
PCIBus *pci_bridge_init(PCIBus *bus, int devfn, bool multifunction,
1584
                        uint16_t vid, uint16_t did,
1584 1585
                        pci_map_irq_fn map_irq, const char *name)
1585 1586
{
1586 1587
    PCIDevice *dev;
1587 1588
    PCIBridge *s;
1588 1589

  
1589
    dev = pci_create(bus, devfn, "pci-bridge");
1590
    dev = pci_create_multifunction(bus, devfn, multifunction, "pci-bridge");
1590 1591
    qdev_prop_set_uint32(&dev->qdev, "vendorid", vid);
1591 1592
    qdev_prop_set_uint32(&dev->qdev, "deviceid", did);
1592 1593
    qdev_init_nofail(&dev->qdev);
b/hw/pci.h
233 233

  
234 234
void do_pci_info_print(Monitor *mon, const QObject *data);
235 235
void do_pci_info(Monitor *mon, QObject **ret_data);
236
PCIBus *pci_bridge_init(PCIBus *bus, int devfn, uint16_t vid, uint16_t did,
236
PCIBus *pci_bridge_init(PCIBus *bus, int devfn, bool multifunction,
237
                        uint16_t vid, uint16_t did,
237 238
                        pci_map_irq_fn map_irq, const char *name);
238 239
PCIDevice *pci_bridge_get_device(PCIBus *bus);
239 240

  

Also available in: Unified diff