On Sun, Dec 28, 2025 at 5:59 PM Peter Maydell <[email protected]> wrote: > > On Fri, 19 Dec 2025 at 22:25, <[email protected]> wrote: > > > > By SMMUv3 specification it can be attached either to PCIe Root > > Complex or regular IO bus devices. However, current > > implementation only allow to associate with PCI bus. > > > > This patch series add support to use SMMU for sysbus devices. > > > > One usage example implemented for virtio-mmio, which allow > > devices to perform DMA operations SMMUv3 with address translation > > and isolation. > > If you want virtio devices behind an SMMU, why not use > the PCI virtio? > > The only SMMU sysbus requirement I'm aware of is that for > RME we will want to have things like the GIC do GPT lookups, > which is most conveniently done by having them route through > the existing for-PCI SMMU, rather than by having an extra > SMMU just for them.
There may be several reasons for supporting SMMU on sysbus: Some embedded platforms may not use and don't want to include a full PCI subsystem, but still want IOMMU isolation with virtio-mmio. The other reason is to emulate existing SoC platforms. The model may need to be closer to real-world HW and SMMU is widely used outside the PCI subsystem. One more reason is Remote-Port devices in our case, currently ongoing development here: https://lists.nongnu.org/archive/html/qemu-devel/2025-12/msg02121.html. Those are platform devices which are emulated by external services. These devices need to perform SMMU operations for DMA transactions when they are bus-masters. BR, Ruslan
