On Sat, Mar 08, 2025 at 04:39:33AM +0800, Jason Chien wrote: > The struct PCIIOMMUOps is designed for use by an IOMMU, but many PCI hosts > also utilize it to implement their ATUs, preventing coexistence with IOMMUs. > Overwriting a PCI host’s PCIIOMMUOps disrupts its translation rules. > > This patch series introduces a mechanism to route inbound transactions from > PCI hosts to the IOMMU, enabling proper integration. > > The final patch depends on another patch series: > https://lists.nongnu.org/archive/html/qemu-riscv/2025-03/msg00003.html
PCI things: Reviewed-by: Michael S. Tsirkin <[email protected]> given the dependency, pls merge through risc-v tree. > Jason Chien (4): > include/hw/pci: Introduce a callback to set the downstream mr of PCI > hosts > hw/pci: Introduce an API to set PCI host downstream mr for IOMMU > integration > hw/pci-host/designware: Implement PCIIOMMUOps.set_downstream_mr() > hw/riscv/riscv-iommu: Connect the IOMMU with PCI hosts that have ATUs > > hw/pci-host/designware.c | 18 +++++++++++++++--- > hw/pci/pci.c | 8 ++++++++ > hw/riscv/riscv-iommu.c | 15 ++++++++++----- > include/hw/pci-host/designware.h | 2 ++ > include/hw/pci/pci.h | 21 +++++++++++++++++++++ > 5 files changed, 56 insertions(+), 8 deletions(-) > > -- > 2.43.2
