]> git.proxmox.com Git - mirror_qemu.git/commit
spapr_pci: Allow EEH on spapr-pci-host-bridge
authorDavid Gibson <david@gibson.dropbear.id.au>
Mon, 29 Feb 2016 06:19:42 +0000 (17:19 +1100)
committerDavid Gibson <david@gibson.dropbear.id.au>
Tue, 15 Mar 2016 22:55:11 +0000 (09:55 +1100)
commitc1fa017c7e9b017ec0a75f8added7f9c4864fe8a
tree90110a0e12acc9b90b0d4961640e24cb588a9181
parentfbb4e983415dc5a15e167dd00bc4564c57121915
spapr_pci: Allow EEH on spapr-pci-host-bridge

Now that the EEH code is independent of the special
spapr-vfio-pci-host-bridge device, we can allow it on all spapr PCI
host bridges instead.  We do this by changing spapr_phb_eeh_available()
to be based on the vfio_eeh_as_ok() call instead of the host bridge class.

Because the value of vfio_eeh_as_ok() can change with devices being
hotplugged or unplugged, this can potentially lead to some strange edge
cases where the guest starts using EEH, then it starts failing because
of a change in status.

However, it's not really any worse than the current situation.  Cases that
would have worked previously will still work (i.e. VFIO devices from at
most one VFIO IOMMU group per vPHB), it's just that it's no longer
necessary to use spapr-vfio-pci-host-bridge with the groupid pre-specified.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Alexey Kardashevskiy <aik@ozlabs.ru>
hw/ppc/spapr_pci.c
hw/ppc/spapr_pci_vfio.c
include/hw/pci-host/spapr.h