Hi,
I see that OVMF has the following virtio drivers, we need to update them all:
VirtioBlkDxe VirtioGpuDxe VirtioNetDxe VirtioRngDxe VirtioScsiDxe
I will wait for Laszlo and Jordan's initial feedback before changing other drivers.
I'm not sure about the GPU. Cc relevant maintainers - can virtio GPU work from behind an IOMMU?
GPU uses main memory as backing storage for framebuffers, and this is passed as guest physical address (scatterlist of addresses to be exact) to the host.
So, I think no, this isn't going to work with the current code.
Should be possible to fix though. We need to define what "guest physical address" should be with VIRTIO_F_IOMMU_PLATFORM enabled (probably guest pci bus address) and add support for proper iommu lookups.
cheers, Gerd