From: Chen Fan <chen.fan.f...@cn.fujitsu.com> For now, when qemu receives an error from host aer report by vfio pci passthough devices, qemu just terminate the guest. Usually user want to know what error occurred rather than stop the guest.
This patches add aer capability support for vfio device, then pass the error to guest, and let guest driver to recover from the error. Turning on SERR# for error forwording in bridge control register patch in seabios has been merged as commit 32ec3ee. notes: this series patches enable aer support single/multi-function, for multi-function, require all the function of the slot assigned to VM and on the same slot. Chen Fan (15): 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 pci: add bus reset_notifiers callbacks for host bus reset vfio: add sec_bus_reset notifier to notify physical bus reset is needed vfio: modify vfio_pci_hot_reset to support bus reset vfio: do hot bus reset when do virtual secondary 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 | 16 + hw/pci/pci_bridge.c | 6 + hw/pci/pcie.c | 2 +- hw/pci/pcie_aer.c | 6 +- hw/vfio/pci.c | 636 +++++++++++++++++++++++++++++++++---- include/hw/pci/pci.h | 4 + include/hw/pci/pci_bus.h | 2 + include/hw/pci/pcie_aer.h | 3 +- 11 files changed, 609 insertions(+), 72 deletions(-) -- 2.1.0