For now, for vfio pci passthough devices when qemu receives
an error from host aer report, there just terminate the guest,
but usually user want to know what error occurred but stop 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.
and turning on SERR# for error forwording in bridge control register
patch in seabios has been merged.
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 | 688 +++++++++++++++++++++++++++++++++----
include/hw/pci/pci.h | 4 +
include/hw/pci/pci_bus.h | 2 +
include/hw/pci/pcie_aer.h | 3 +-
11 files changed, 661 insertions(+), 72 deletions(-)