diff --git a/hw/pci.c b/hw/pci.c index 4dc13d2561..6124790f01 100644 --- a/hw/pci.c +++ b/hw/pci.c @@ -2165,3 +2165,8 @@ int pci_qdev_find_device(const char *id, PCIDevice **pdev) return rc; } + +MemoryRegion *pci_address_space(PCIDevice *dev) +{ + return dev->bus->address_space_mem; +} diff --git a/hw/pci.h b/hw/pci.h index d7ad7fb95f..391217e431 100644 --- a/hw/pci.h +++ b/hw/pci.h @@ -220,6 +220,7 @@ void pci_default_write_config(PCIDevice *d, uint32_t address, uint32_t val, int len); void pci_device_save(PCIDevice *s, QEMUFile *f); int pci_device_load(PCIDevice *s, QEMUFile *f); +MemoryRegion *pci_address_space(PCIDevice *dev); typedef void (*pci_set_irq_fn)(void *opaque, int irq_num, int level); typedef int (*pci_map_irq_fn)(PCIDevice *pci_dev, int irq_num);