From: Chen Fan <chen.fan.f...@cn.fujitsu.com> For now, for vfio pci passthough devices when qemu receives an error from host aer report, currentlly just terminate the guest, but usually user want to know what error occurred but stopping the guest, so this patches add aer capability support for vfio device, and pass the error to guest, and have guest driver to recover from the error.
v12-v13: 1. since support multifuncion hotplug, here add callback to enable aer. 2. add pci device pre+post reset for aer host reset. Chen Fan (13): vfio: extract vfio_get_hot_reset_info as a single function vfio: squeeze out vfio_pci_do_hot_reset for support bus reset pcie: modify the capability size assert vfio: make the 4 bytes aligned for capability size vfio: add pcie extanded capability support aer: impove pcie_aer_init to support vfio device vfio: add aer support for vfio device vfio: add check host bus reset is support or not add check reset mechanism when hotplug vfio device pci: add pci device pre-post reset callbacks for host bus reset pcie_aer: expose pcie_aer_msg() interface vfio-pci: pass the aer error to guest vfio: add 'aer' property to expose aercap hw/pci-bridge/ioh3420.c | 2 +- hw/pci-bridge/xio3130_downstream.c | 2 +- hw/pci-bridge/xio3130_upstream.c | 2 +- hw/pci/pci.c | 47 +++ hw/pci/pci_bridge.c | 9 + hw/pci/pcie.c | 2 +- hw/pci/pcie_aer.c | 6 +- hw/vfio/pci.c | 592 +++++++++++++++++++++++++++++++++---- hw/vfio/pci.h | 8 + include/hw/pci/pci.h | 7 + include/hw/pci/pci_bus.h | 5 + include/hw/pci/pcie_aer.h | 3 +- 12 files changed, 613 insertions(+), 72 deletions(-) -- 1.9.3