qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v11 0/3] EEH Support for VFIO PCI Devices


From: Gavin Shan
Subject: [Qemu-devel] [PATCH v11 0/3] EEH Support for VFIO PCI Devices
Date: Thu, 26 Jun 2014 11:35:35 +1000

The series of patches adds support EEH for VFIO PCI devices on sPAPR platform.
It requires corresponding host kernel support. Also, it is based on top of
Alexey's VFIO-for-sPAPR git repository.

QEMU:   git://github.com/aik/qemu.git (branch: vfio)
Kernel: git://github.com/aik/linux.git (branch: vfio)
Kernel: 
http://linuxppc.10917.n7.nabble.com/PATCH-v10-0-3-EEH-Support-for-VFIO-PCI-Device-td83042.html

The implementations notes are below. Please comment.

* 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
=========
v8 -> v9:
        * Update kernel header (vfio.h) according to changes applied to kerenl.
        * Rename rtas_finish_eeh_request() to rtas_handle_eeh_request().
        * vfio_pci_container_ioctl() moved to Alexey's VFIO patchset.
v9 -> v10:
        * Make sure we have zero struct vfio_eeh_pe_op::flags
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 (...)".

Gavin Shan (3):
  sPAPR: Implement EEH RTAS calls
  headers: Update kernel header
  sPAPR: Implement sPAPRPHBClass::eeh_handler

 hw/ppc/spapr_pci.c          | 240 ++++++++++++++++++++++++++++++++++++++++++++
 hw/ppc/spapr_pci_vfio.c     |  56 +++++++++++
 include/hw/pci-host/spapr.h |   7 ++
 include/hw/ppc/spapr.h      |  33 ++++++
 linux-headers/linux/vfio.h  |  34 +++++++
 5 files changed, 370 insertions(+)

-- 
1.8.3.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]