And update the max function number used in struct PCIBus{} to PCIBUS_MAX_FUNCTIONS = PCI_FUNCTIONS_PER_DEVICE * PCIBUS_MAX_DEVICES TODO: according to Avi Kivity, PCIBus.devices[] should be renamed to functions[] Signed-off-by: Ken CC <ken.ccao@xxxxxxxxx> --- hw/pci.c | 2 +- hw/pci.h | 2 ++ 2 files changed, 3 insertions(+), 1 deletions(-) diff --git a/hw/pci.c b/hw/pci.c index 70dbace..9234fe3 100644 --- a/hw/pci.c +++ b/hw/pci.c @@ -47,7 +47,7 @@ struct PCIBus { pci_hotplug_fn hotplug; DeviceState *hotplug_qdev; void *irq_opaque; - PCIDevice *devices[256]; + PCIDevice *devices[PCIBUS_MAX_DEVICES * PCI_FUNCTIONS_PER_DEVICE]; PCIDevice *parent_dev; target_phys_addr_t mem_base; diff --git a/hw/pci.h b/hw/pci.h index ccb99d0..eb97b76 100644 --- a/hw/pci.h +++ b/hw/pci.h @@ -17,6 +17,8 @@ struct kvm_irq_routing_entry; #define PCI_SLOT(devfn) (((devfn) >> 3) & 0x1f) #define PCI_FUNC(devfn) ((devfn) & 0x07) #define PCI_FUNC_MAX 8 +#define PCI_FUNCTIONS_PER_DEVICE 8 +#define PCIBUS_MAX_DEVICES 32 /* Class, Vendor and Device IDs from Linux's pci_ids.h */ #include "pci_ids.h" -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html