From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52302) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z4lzZ-0004P3-99 for qemu-devel@nongnu.org; Tue, 16 Jun 2015 04:13:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z4lzX-0004eM-0J for qemu-devel@nongnu.org; Tue, 16 Jun 2015 04:13:09 -0400 Received: from [59.151.112.132] (port=4037 helo=heian.cn.fujitsu.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z4lzV-0004TP-G5 for qemu-devel@nongnu.org; Tue, 16 Jun 2015 04:13:06 -0400 From: Chen Fan Date: Tue, 16 Jun 2015 16:10:44 +0800 Message-ID: MIME-Version: 1.0 Content-Type: text/plain Subject: [Qemu-devel] [RFC v10 00/19] vfio-pci: pass the aer error to guest List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: izumi.taku@jp.fujitsu.com, alex.williamson@redhat.com 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. v9-v10: 1. support vfio_get_group with as is NULL. keep group into container. v8-v9: 1. add ref to group for devices supported aer could own the group without devices in VM. 2. add check for all aer devices if conflict the topology at each initfn time. Chen Fan (19): 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 ref for group to support own affected groups vfio: extract vfio_register_container_listener from vfio_connect_container vfio: improve vfio_get_group to support adding as is NULL. get all affected groups for each device support aer 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: improve vfio_pci_hot_reset to support more case 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/common.c | 83 +++-- hw/vfio/pci.c | 742 +++++++++++++++++++++++++++++++++---- include/hw/pci/pci.h | 4 + include/hw/pci/pci_bus.h | 2 + include/hw/pci/pcie_aer.h | 3 +- include/hw/vfio/vfio-common.h | 1 + 13 files changed, 776 insertions(+), 95 deletions(-) -- 1.9.3