[PATCH v7 0/3] AER-KVM: Error containment of VFIO devices assigned to KVM guests

From: Vijay Mohan Pandarathil
Date: Sat Mar 09 2013 - 02:52:30 EST


Add support for error containment when a VFIO device assigned to a KVM
guest encounters an error. This is for PCIe devices/drivers that support AER
functionality. When the host OS is notified of an error in a device either
through the firmware first approach or through an interrupt handled by the AER
root port driver, the error handler registered by the vfio-pci driver gets
invoked. The qemu process is signaled through an eventfd registered per
VFIO device by the qemu process. In the eventfd handler, qemu decides on
what action to take. In this implementation, guest is brought down to
contain the error.


v7:
- Rebased to latest upstream
- Used device_lock() for synchronising err_trigger access
v6:
- Rebased to latest upstream
- Resolved merge conflict with vfio_dev_present()
v5:
- Rebased to latest upstream stable bits
- Incorporated v4 feedback
v4:
- Stop the guest instead of terminating
- Remove unwanted returns from functions
- Incorporate other feedback
v3:
- Removed PCI_AER* flags from device info ioctl.
- Incorporated feedback
v2:
- Rebased to latest upstream stable bits
- Changed the new ioctl to be part of VFIO_SET_IRQs ioctl
- Added a new patch to get/put reference to a vfio device from struct device
- Incorporated all other feedback.

---

Vijay Mohan Pandarathil(3):

[PATCH 1/3] VFIO: Wrapper to get reference to vfio_device from device
[PATCH 2/3] VFIO-AER: Vfio-pci driver changes for supporting AER
[PATCH 3/3] QEMU-AER: Qemu changes to support AER for VFIO-PCI devices

Kernel files changed

drivers/vfio/vfio.c | 30 +++++++++++++++++++++++++++++-
include/linux/vfio.h | 3 +++
2 files changed, 32 insertions(+), 1 deletion(-)

drivers/vfio/pci/vfio_pci.c | 44 ++++++++++++++++++++++++-
drivers/vfio/pci/vfio_pci_intrs.c | 64 +++++++++++++++++++++++++++++++++++++
drivers/vfio/pci/vfio_pci_private.h | 1 +
include/uapi/linux/vfio.h | 1 +
4 files changed, 109 insertions(+), 1 deletion(-)

Qemu files changed

hw/vfio_pci.c | 123 +++++++++++++++++++++++++++++++++++++++++++++
linux-headers/linux/vfio.h | 1 +
2 files changed, 124 insertions(+)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/