[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-ppc] [PATCH RFC v3 0/6] EEH Support for VFIO PCI Device
From: |
Gavin Shan |
Subject: |
[Qemu-ppc] [PATCH RFC v3 0/6] EEH Support for VFIO PCI Device |
Date: |
Wed, 14 May 2014 14:27:23 +1000 |
The series of patches intend to support EEH for VFIO PCI devices on sPAPR
platform. It requires corresponding host kernel support. Also, it was built
on top of Alexey's VFIO-for-sPAPR git repository.
QEMU: git://github.com/aik/qemu.git (branch: vfio)
Kernel:
http://linuxppc.10917.n7.nabble.com/PATCH-RFC-v3-0-8-EEH-Support-for-VFIO-PCI-device-td82345.html
Here are some highlights and I don't have experience with QEMU. Any comments
should be appreciated.
* EEH RTAS calls captured by sPAPR platform firstly, and then routed to
VFIO for handling if VFIO can. Otheriwse, it will be routed to host
kernel for handling via dedicated VFIO container IOCTL command.
* PHB BUID is the identifier to one specific PHB, which is required information
for EEH address mapping. In order to retrieve that from VFIO, the PCI
bus struct has been extended to have additional field "sysdata" for that.
* The guest can't do error injection until holding valid token. Each guest
is allowed to have one token at once. The RTAS calls managing token is
simply emulated in QEMU. However, the error injection has to be routed
to host kernel by dedicated syscall.
Gavin Shan (6):
headers: Sync with Linux header
PCI: Add sysdata to PCI bus
VFIO: EEH address mapping
VFIO: Introduce EEH handler
sPAPR: Support EEH RTAS services
sPAPR: Support error injection
hw/misc/vfio.c | 137 ++++++++++++++++++++
hw/ppc/spapr_pci.c | 315 +++++++++++++++++++++++++++++++++++++++++++++
hw/ppc/spapr_rtas.c | 37 +++++-
include/hw/misc/vfio.h | 1 +
include/hw/pci/pci_bus.h | 3 +
include/hw/ppc/spapr.h | 11 ++
linux-headers/linux/vfio.h | 57 ++++++++
7 files changed, 560 insertions(+), 1 deletion(-)
--
1.8.3.2
- [Qemu-ppc] [PATCH RFC v3 0/6] EEH Support for VFIO PCI Device,
Gavin Shan <=
- [Qemu-ppc] [PATCH 3/6] VFIO: EEH address mapping, Gavin Shan, 2014/05/14
- [Qemu-ppc] [PATCH 6/6] sPAPR: Support error injection, Gavin Shan, 2014/05/14
- [Qemu-ppc] [PATCH 1/6] headers: Sync with Linux header, Gavin Shan, 2014/05/14
- [Qemu-ppc] [PATCH 2/6] PCI: Add sysdata to PCI bus, Gavin Shan, 2014/05/14
- [Qemu-ppc] [PATCH 4/6] VFIO: Introduce EEH handler, Gavin Shan, 2014/05/14
- [Qemu-ppc] [PATCH 5/6] sPAPR: Support EEH RTAS services, Gavin Shan, 2014/05/14