On Mon, Apr 01, 2019 at 07:54:57PM +0200, Greg Kurz wrote: > Recent commit c2077e2ca0da7 added stricter checks that now prevent > a guest to access the extended config space of a PCIe device connected > attached to a PHB on a pseries machine. > > PAPR compatible PHBs act like legacy PCI busses, but they do allow access > to the full 4k config space of PCIe devices. As discussed several times on > the list ([1] and [2]), we cannot really change PAPR PHB to have a true > PCIe root bus since it would call for massive and unwanted changes in > libvirt. > > This series tries to address the issue with a new PCI bus class method > that tells if the PCI bus supports extended config space accesses, > instead of relying on pci_bus_is_express() which wants a PCIe root bus. > A new legacy PCI bus type is added to implement the PAPR behaviour. > > Note that this fixes a potential 4.0 regression, hence the for-4.0 tag. > > [1] https://lists.gnu.org/archive/html/qemu-devel/2016-10/msg07377.html > https://lists.gnu.org/archive/html/qemu-devel/2016-11/msg02839.html > > [2] https://lists.gnu.org/archive/html/qemu-ppc/2017-01/msg00034.html
So, I actually had some patches I'd been working on that address both the c2077e2ca0da7 issue and the PAPR fixup in what I think is a cleaner manner. Can't remember now if I posted and they got lost, or I didn't get around to posting. Nonetheless, at this point we're fixing a real regression on PAPR. I'll look at cleaning this up post 4.0. Reviewed-by: David Gibson <david@gibson.dropbe I can take this through my tree if people are ok with that. -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature