On 10.08.26 23:42, Michael S. Tsirkin wrote: > On Mon, Aug 10, 2026 at 07:14:09PM +0000, Graf (AWS), Alexander wrote: >> Maybe I'm missing the real point you're trying to make? :) > At least one point is not to have text like "intepret every address as > an offset" in the spec and actually make it an address.
I am genuinely unable to see how we can make it prettier. What I'm trying to transmit is that each device should live in its own address space, with the host specifying which boundary an address space has. I agree that on surface it sounds a bit like an IOMMU. And yes, we can combine that with virtio-iommu, but that's really just punting the problem down one layer and makes it more difficult to recreate the ties that a native per-device mechanism already gives us. With a pure virtio-iommu implementation, the most obvious way to create a private memory region (not RAM, because this region should never be used by anything as RAM) via an SHM region to the virtio-iommu device. Now we're moving the wording in the spec from "Device DMA is routed to a private address space which is backed by the DMB SHM region" into "Virtio-iommu has the ability to target a special address space, backed by an SHM region". And we then need to find a way to size that region, dynamically slice it (for hotplug support) and communicate between all components where and how to use the virtio-iommu SHM region instead. If we don't want to use a virtio-iommu SHM region, but punt it down one layer to virtio-mem, it gets even more difficult. We'd have all of the problems that we get when using virtio-iommu, but on top of that we now need to enlighten virtio-mem with a special "private" memory region that is not RAM. And then connect that back into virtio-iommu. So while I understand your concern, I fail to see a path towards an actually viable, genuinely better (prettier / more maintainable / easier / less error prone / etc) implementation with virtio-iommu. Alex

