[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 28/30] sPAPR: Don't enable EEH on emulated PCI device
From: |
Alexander Graf |
Subject: |
[Qemu-devel] [PULL 28/30] sPAPR: Don't enable EEH on emulated PCI devices |
Date: |
Tue, 7 Jul 2015 17:49:40 +0200 |
From: Gavin Shan <address@hidden>
There might have emulated PCI devices, together with VFIO PCI
devices under one PHB. The EEH capability shouldn't enabled
on emulated PCI devices.
The patch returns error when enabling EEH capability on emulated
PCI devices by RTAS call "ibm,set-eeh-option".
Signed-off-by: Gavin Shan <address@hidden>
Signed-off-by: David Gibson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
---
hw/ppc/spapr_pci.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/hw/ppc/spapr_pci.c b/hw/ppc/spapr_pci.c
index a139aea..a8f79d8 100644
--- a/hw/ppc/spapr_pci.c
+++ b/hw/ppc/spapr_pci.c
@@ -429,6 +429,7 @@ static void rtas_ibm_set_eeh_option(PowerPCCPU *cpu,
{
sPAPRPHBState *sphb;
sPAPRPHBClass *spc;
+ PCIDevice *pdev;
uint32_t addr, option;
uint64_t buid;
int ret;
@@ -446,6 +447,12 @@ static void rtas_ibm_set_eeh_option(PowerPCCPU *cpu,
goto param_error_exit;
}
+ pdev = pci_find_device(PCI_HOST_BRIDGE(sphb)->bus,
+ (addr >> 16) & 0xFF, (addr >> 8) & 0xFF);
+ if (!pdev || !object_dynamic_cast(OBJECT(pdev), "vfio-pci")) {
+ goto param_error_exit;
+ }
+
spc = SPAPR_PCI_HOST_BRIDGE_GET_CLASS(sphb);
if (!spc->eeh_set_option) {
goto param_error_exit;
--
1.8.1.4
- [Qemu-devel] [PULL 20/30] spapr: Consolidate cpu init code into a routine, (continued)
- [Qemu-devel] [PULL 20/30] spapr: Consolidate cpu init code into a routine, Alexander Graf, 2015/07/07
- [Qemu-devel] [PULL 16/30] spapr: Consider max_cpus during xics initialization, Alexander Graf, 2015/07/07
- [Qemu-devel] [PULL 24/30] spapr_pci: populate ibm,loc-code, Alexander Graf, 2015/07/07
- [Qemu-devel] [PULL 30/30] sPAPR: Clear stale MSIx table during EEH reset, Alexander Graf, 2015/07/07
- [Qemu-devel] [PULL 17/30] spapr: Support ibm, lrdr-capacity device tree property, Alexander Graf, 2015/07/07
- [Qemu-devel] [PULL 22/30] xics_kvm: Don't enable KVM_CAP_IRQ_XICS if already enabled, Alexander Graf, 2015/07/07
- [Qemu-devel] [PULL 25/30] spapr_pci: drop redundant args in spapr_[populate, create]_pci_child_dt, Alexander Graf, 2015/07/07
- [Qemu-devel] [PULL 12/30] spapr_pci: set device node unit address as hex, Alexander Graf, 2015/07/07
- [Qemu-devel] [PULL 11/30] spapr_pci: encode class code including Prog IF register, Alexander Graf, 2015/07/07
- [Qemu-devel] [PULL 14/30] spapr_iommu: translate sPAPRTCEAccess to IOMMUAccessFlags, Alexander Graf, 2015/07/07
- [Qemu-devel] [PULL 28/30] sPAPR: Don't enable EEH on emulated PCI devices,
Alexander Graf <=
- [Qemu-devel] [PULL 26/30] spapr_vty: lookup should only return valid VTY objects, Alexander Graf, 2015/07/07
- [Qemu-devel] [PULL 15/30] Revert "hw/ppc/spapr_pci.c: Avoid functions not in glib 2.12 (g_hash_table_iter_*)", Alexander Graf, 2015/07/07
- [Qemu-devel] [PULL 21/30] ppc: Update cpu_model in MachineState, Alexander Graf, 2015/07/07
- [Qemu-devel] [PULL 23/30] spapr_pci: enumerate and add PCI device tree, Alexander Graf, 2015/07/07
- [Qemu-devel] [PULL 19/30] spapr: Reorganize CPU dt generation code, Alexander Graf, 2015/07/07
- [Qemu-devel] [PULL 06/30] spapr: Merge sPAPREnvironment into sPAPRMachineState, Alexander Graf, 2015/07/07
- [Qemu-devel] [PULL 05/30] pseries: Update SLOF firmware image to qemu-slof-20150429, Alexander Graf, 2015/07/07
- Re: [Qemu-devel] [PULL 00/30] ppc patch queue 2015-07-07 for 2.4, Peter Maydell, 2015/07/07