summary refs log tree commit diff stats
path: root/include/hw/pci/pci_bus.h
diff options
context:
space:
mode:
authorGreg Kurz <groug@kaod.org>2019-04-01 19:55:02 +0200
committerDavid Gibson <david@gibson.dropbear.id.au>2019-04-09 09:14:47 +1000
commit1c685a9026349752c3627aa24b090973e35b83c3 (patch)
tree8618f5915e18c85135e6b72507e1a300a6109e9a /include/hw/pci/pci_bus.h
parent5263724b78f89cdea2354c8e92c53bac1b4641a3 (diff)
downloadfocaccia-qemu-1c685a9026349752c3627aa24b090973e35b83c3.tar.gz
focaccia-qemu-1c685a9026349752c3627aa24b090973e35b83c3.zip
pci: Allow PCI bus subtypes to support extended config space accesses
Some PHB implementations, eg. PAPR used on pseries machine, act like
a regular PCI bus rather than a PCIe bus, but allow access to the
PCIe extended config space anyway.

Introduce a new PCI bus class method to modelize this behaviour and
use it when adjusting the config space size limit during accesses.

No behaviour change for existing PCI bus types.

Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <155414130271.574858.4253514266378127489.stgit@bahia.lan>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'include/hw/pci/pci_bus.h')
-rw-r--r--include/hw/pci/pci_bus.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/hw/pci/pci_bus.h b/include/hw/pci/pci_bus.h
index dfb75752cb..f6df834170 100644
--- a/include/hw/pci/pci_bus.h
+++ b/include/hw/pci/pci_bus.h
@@ -18,6 +18,7 @@ typedef struct PCIBusClass {
     bool (*is_root)(PCIBus *bus);
     int (*bus_num)(PCIBus *bus);
     uint16_t (*numa_node)(PCIBus *bus);
+    bool (*allows_extended_config_space)(PCIBus *bus);
 } PCIBusClass;
 
 struct PCIBus {