|
From: | Chen Fan |
Subject: | Re: [Qemu-devel] [PATCH v5 4/7] pcie_aer: expose pcie_aer_msg() interface |
Date: | Thu, 19 Mar 2015 09:33:22 +0800 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 |
On 03/18/2015 09:29 PM, Michael S. Tsirkin wrote:
On Thu, Mar 12, 2015 at 06:23:56PM +0800, Chen Fan wrote:For vfio device, we need to propagate the aer error to Guest OS. we use the pcie_aer_msg() to send aer error to guest. Signed-off-by: Chen Fan <address@hidden>Interesting. pcie_aer_inject_error was intended as an interface to send errors to guest. For example, pcie_aer_msg does not handle the log at all. Why do you use the lower-level pcie_aer_msg?
because if the AER error comes from physical device, the error information is located in physical device space, so we only need to notify guest the error occurs, then guest should collect the error from the real device. but pcie_aer_inject_error is to inject the error to device virtual space(dev->config). we seem don't need to do that for physical aer error occur. Thanks, Chen
--- hw/pci/pcie_aer.c | 2 +- include/hw/pci/pcie_aer.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/pci/pcie_aer.c b/hw/pci/pcie_aer.c index 71045eb..f2d5d13 100644 --- a/hw/pci/pcie_aer.c +++ b/hw/pci/pcie_aer.c @@ -370,7 +370,7 @@ static void pcie_aer_msg_root_port(PCIDevice *dev, const PCIEAERMsg *msg) * * Walk up the bus tree from the device, propagate the error message. */ -static void pcie_aer_msg(PCIDevice *dev, const PCIEAERMsg *msg) +void pcie_aer_msg(PCIDevice *dev, const PCIEAERMsg *msg) { uint8_t type;diff --git a/include/hw/pci/pcie_aer.h b/include/hw/pci/pcie_aer.hindex a4cc6f3..80cba7b 100644 --- a/include/hw/pci/pcie_aer.h +++ b/include/hw/pci/pcie_aer.h @@ -102,5 +102,6 @@ void pcie_aer_root_write_config(PCIDevice *dev,/* error injection */int pcie_aer_inject_error(PCIDevice *dev, const PCIEAERErr *err); +void pcie_aer_msg(PCIDevice *dev, const PCIEAERMsg *msg);#endif /* QEMU_PCIE_AER_H */-- 1.9.3.
[Prev in Thread] | Current Thread | [Next in Thread] |