qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v12 0/4] EEH Support for VFIO Devices
@ 2014-07-16  0:20 Gavin Shan
  2014-07-16  0:20 ` [Qemu-devel] [PATCH v12 1/4] spapr_pci: Make find_phb()/find_dev() public Gavin Shan
                   ` (3 more replies)
  0 siblings, 4 replies; 15+ messages in thread
From: Gavin Shan @ 2014-07-16  0:20 UTC (permalink / raw)
  To: qemu-ppc; +Cc: agraf, aik, qemu-devel, Gavin Shan, alex.williamson

The series of patches adds support EEH for VFIO PCI devices on sPAPR platform.
It requires corresponding host kernel support. It has been rebased to Alex Graf's
QEMU repository:

QEMU:   git://github.com/agraf/qemu.git (branch: ppc-next)
Kernel: http://patchwork.ozlabs.org/patch/357665/
        http://patchwork.ozlabs.org/patch/357667/
        http://patchwork.ozlabs.org/patch/357666/

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 (...)".
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.


Alexey Kardashevskiy (1):
  spapr_pci: Make find_phb()/find_dev() public

Gavin Shan (3):
  sPAPR: Implement EEH RTAS calls
  headers: Update kernel header
  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 ++++++-
 linux-headers/linux/vfio.h  |  34 ++++++
 6 files changed, 400 insertions(+), 13 deletions(-)


-- 
1.8.3.2

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2014-07-28 13:53 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-16  0:20 [Qemu-devel] [PATCH v12 0/4] EEH Support for VFIO Devices Gavin Shan
2014-07-16  0:20 ` [Qemu-devel] [PATCH v12 1/4] spapr_pci: Make find_phb()/find_dev() public Gavin Shan
2014-07-28 12:49   ` Alexander Graf
2014-07-28 13:52     ` Alexey Kardashevskiy
2014-07-16  0:20 ` [Qemu-devel] [PATCH v12 2/4] sPAPR: Implement EEH RTAS calls Gavin Shan
2014-07-16  1:06   ` Alexey Kardashevskiy
2014-07-16  1:12     ` Gavin Shan
2014-07-16  1:28       ` Alexey Kardashevskiy
2014-07-16  0:20 ` [Qemu-devel] [PATCH v12 3/4] headers: Update kernel header Gavin Shan
2014-07-16  1:09   ` Alexey Kardashevskiy
2014-07-16  1:16     ` Gavin Shan
2014-07-16  1:32       ` Alexey Kardashevskiy
2014-07-16  1:40         ` Gavin Shan
2014-07-28 12:50           ` Alexander Graf
2014-07-16  0:20 ` [Qemu-devel] [PATCH v12 4/4] sPAPR: Implement sPAPRPHBClass::eeh_handler Gavin Shan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).