xen-hvm: stop faking I/O to access PCI config space
commitdfb6578d69d60e464be36dafed9741dcfd73d2cf
authorPaul Durrant <paul.durrant@citrix.com>
Thu, 31 May 2018 18:01:13 +0000 (31 11:01 -0700)
committerStefano Stabellini <sstabellini@kernel.org>
Thu, 31 May 2018 19:05:01 +0000 (31 12:05 -0700)
tree3bc4adf6677e1baeae2524678888e49ea6c4a1da
parentd3c49ebbe26b48615e14b8baa88a59cd33761ea6
xen-hvm: stop faking I/O to access PCI config space

This patch removes the current hackery where IOREQ_TYPE_PCI_CONFIG
requests are handled by faking PIO to 0xcf8 and 0xcfc and replaces it
with direct calls to pci_host_config_read/write_common().
Doing so necessitates mapping BDFs to PCIDevices but maintaining a simple
QLIST in xen_device_realize/unrealize() will suffice.

NOTE: whilst config space accesses are currently limited to
      PCI_CONFIG_SPACE_SIZE, this patch paves the way to increasing the
      limit to PCIE_CONFIG_SPACE_SIZE when Xen gains the ability to
      emulate MCFG table accesses.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
hw/i386/xen/trace-events
hw/i386/xen/xen-hvm.c