From: Michael Roth <mdr...@linux.vnet.ibm.com> We need to work with PCI BARs to generate OF properties during PCI hotplug for sPAPR guests.
Signed-off-by: Michael Roth <mdr...@linux.vnet.ibm.com> Reviewed-by: David Gibson <da...@gibson.dropbear.id.au> Acked-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: David Gibson <da...@gibson.dropbear.id.au> Signed-off-by: Alexander Graf <ag...@suse.de> --- hw/pci/pci.c | 2 +- include/hw/pci/pci.h | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) 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 uint16_t pci_default_sub_device_id = PCI_SUBDEVICE_ID_QEMU; 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 @@ int pci_device_load(PCIDevice *s, QEMUFile *f); 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); -- 1.8.1.4