pci: Adjust PCI config limit based on bus topology
commitc2077e2ca0da75b6b97e2485a41b8168e2a387c2
authorAlex Williamson <alex.williamson@redhat.com>
Mon, 18 Jan 2016 23:06:03 +0000 (18 16:06 -0700)
committerMichael S. Tsirkin <mst@redhat.com>
Thu, 20 Dec 2018 16:25:36 +0000 (20 11:25 -0500)
tree17861c7c23b58919a45094647ffc727d943e83e5
parent27c1da512994b34912dbb8d12982045da1450e65
pci: Adjust PCI config limit based on bus topology

A conventional PCI bus does not support config space accesses above
the standard 256 byte configuration space.  PCIe-to-PCI bridges are
not permitted to forward transactions if the extended register address
field is non-zero and must handle it as an unsupported request (PCIe
bridge spec rev 1.0, 4.1.3, 4.1.4).  Therefore, we should not support
extended config space if there is a conventional bus anywhere on the
path to a device.

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Reviewed-by: Marcel Apfelbaum <marcel@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/pci/pci_host.c