|
From: | Paul Schlacter |
Subject: | [PATCH] xio3130_upstream: Add ACS (Access Control Services) capability |
Date: | Sun, 14 Aug 2022 15:47:49 +0800 |
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 <wlfightup@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)
[Prev in Thread] | Current Thread | [Next in Thread] |