[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-ppc] [PATCH v13 0/3] EEH Support for VFIO Devices
From: |
Gavin Shan |
Subject: |
[Qemu-ppc] [PATCH v13 0/3] EEH Support for VFIO Devices |
Date: |
Mon, 15 Dec 2014 11:15:05 +1100 |
The series of patches adds support EEH for VFIO PCI devices on sPAPR platform.
It requires corresponding host kernel support, which was merged during 3.17
merge window. This patchset has been rebased to Alex Graf's QEMU repository:
git://github.com/agraf/qemu.git (branch: ppc-next)
The implementations notes are below. Please consider for merging!
* RTAS calls are received in spapr_pci.c, sanity check is done there. RTAS
handlers handle what they can. If there is something it cannot handle and
sPAPRPHBClass::eeh_handler callback is defined, it is called.
* sPAPRPHBClass::eeh_handler is only implemented for VFIO now. It does ioctl()
to the IOMMU container fd to complete the call. Error codes from that ioctl()
are transferred back to the guest.
Changelog
=========
v10 -> v11:
* Don't explicitly set struct vfio_eeh_pe_op::flags to 0.
* rtas_handle_eeh_request() checks the validity of sPAPRPHBState and
sPAPRPHBClass::eeh_handler.
* The first level functions set the RTAS call return value.
* Replace "if (...)" with "switch (...)".
v11 -> v12:
* RTAS call returns RTAS_OUT_NO_ERRORS_FOUND on success because we
don't support it yet.
* Add one more patch from Alexey to make find_phb() and find_dev()
phblic.
* Rebase to Alex Graf's QEMU repository.
v12 -> v13:
* Rebase to Alex Graf's QEMU repository ("ppc-next" branch).
* Drop the patch for header file (vfio.h) changes, which was merged
to QEMU repository by commit a9fd1654 ("linux-headers: update to
3.17-rc7").
* Retested on Emulex adapter and EEH errors are recovered successfully.
Alexey Kardashevskiy (1):
spapr_pci: Make find_phb()/find_dev() public
Gavin Shan (2):
sPAPR: Implement EEH RTAS calls
sPAPR: Implement sPAPRPHBClass::eeh_handler
hw/misc/vfio.c | 1 +
hw/ppc/spapr_pci.c | 268 ++++++++++++++++++++++++++++++++++++++++++--
hw/ppc/spapr_pci_vfio.c | 56 +++++++++
include/hw/pci-host/spapr.h | 11 ++
include/hw/ppc/spapr.h | 43 ++++++-
5 files changed, 366 insertions(+), 13 deletions(-)
--
1.8.3.2
- [Qemu-ppc] [PATCH v13 0/3] EEH Support for VFIO Devices,
Gavin Shan <=