pci: make pci_bar useable outside pci.c We need to work with PCI BARs to generate OF properties during PCI hotplug for sPAPR guests. Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Acked-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Alexander Graf <agraf@suse.de>
diff --git a/hw/pci/pci.c b/hw/pci/pci.c index 48f19a3..3423c3a 100644 --- a/hw/pci/pci.c +++ b/hw/pci/pci.c
@@ -123,7 +123,7 @@ static QLIST_HEAD(, PCIHostState) pci_host_bridges; -static int pci_bar(PCIDevice *d, int reg) +int pci_bar(PCIDevice *d, int reg) { uint8_t type;
diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h index 5d050c8..6c2af0d 100644 --- a/include/hw/pci/pci.h +++ b/include/hw/pci/pci.h
@@ -334,6 +334,12 @@ MemoryRegion *pci_address_space(PCIDevice *dev); MemoryRegion *pci_address_space_io(PCIDevice *dev); +/* + * Should not normally be used by devices. For use by sPAPR target + * where QEMU emulates firmware. + */ +int pci_bar(PCIDevice *d, int reg); + 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); typedef PCIINTxRoute (*pci_route_irq_fn)(void *opaque, int pin);