diff --git a/hw/pci.h b/hw/pci.h index 113e556e2d..7d56337c2b 100644 --- a/hw/pci.h +++ b/hw/pci.h @@ -16,6 +16,7 @@ #define PCI_DEVFN(slot, func) ((((slot) & 0x1f) << 3) | ((func) & 0x07)) #define PCI_SLOT(devfn) (((devfn) >> 3) & 0x1f) #define PCI_FUNC(devfn) ((devfn) & 0x07) +#define PCI_SLOT_MAX 32 #define PCI_FUNC_MAX 8 /* Class, Vendor and Device IDs from Linux's pci_ids.h */ diff --git a/hw/pci_internals.h b/hw/pci_internals.h index e3c93a3cc5..efaefcded8 100644 --- a/hw/pci_internals.h +++ b/hw/pci_internals.h @@ -22,7 +22,7 @@ struct PCIBus { pci_hotplug_fn hotplug; DeviceState *hotplug_qdev; void *irq_opaque; - PCIDevice *devices[256]; + PCIDevice *devices[PCI_SLOT_MAX * PCI_FUNC_MAX]; PCIDevice *parent_dev; target_phys_addr_t mem_base;