If it is a pcie device, check that all devices on the path from the device to the root complex have ACS enabled, and then the
device will become an iommu_group. it will have the effect of isolation Signed-off-by: wlfightup <wlfigh...@gmail.com> --- hw/pci-bridge/xio3130_upstream.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hw/pci-bridge/xio3130_upstream.c b/hw/pci-bridge/xio3130_upstream.c index 5ff46ef050..2df952222b 100644 --- a/hw/pci-bridge/xio3130_upstream.c +++ b/hw/pci-bridge/xio3130_upstream.c @@ -37,6 +37,8 @@ #define XIO3130_SSVID_SSID 0 #define XIO3130_EXP_OFFSET 0x90 #define XIO3130_AER_OFFSET 0x100 +#define XIO3130_ACS_OFFSET \ + (XIO3130_AER_OFFSET + PCI_ERR_SIZEOF) static void xio3130_upstream_write_config(PCIDevice *d, uint32_t address, uint32_t val, int len) @@ -92,6 +94,7 @@ static void xio3130_upstream_realize(PCIDevice *d, Error **errp) goto err; } + pcie_acs_init(d, XIO3130_ACS_OFFSET); return; err: -- 2.24.3 (Apple Git-128)