diff --git a/hw/pci.c b/hw/pci.c index 4dc13d2561f8752ec808b68b996fdf7851caad25..6124790f010c187023a29768da9c046ecbfeb18e 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 d7ad7fb95fe0cad29d03e762e148f307dfeac5c4..391217e43169aab1ea85602e75e49d985453a49b 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);