Hi there! I would like to be able to use vIOMMU on an AMD system, so I can pass a GPU through to a VM which then passes it to a nested VM ( it's a long story ).
I believe this is feasible with an Intel host, however vIOMMU for AMD doesn't seem to be complete. Is that correct? I see pages like https://kvmforum2021.sched.com/event/ke4S/analysis-of-amd-hw-assisted-viommu-implementation-and-performance-suravee-suthikulpanit-wei-huang-amd and https://github.com/3dgie/AMD-Vi ( and some others ) with some early work that I assume is not yet complete & merged? Or coming at this another way ... I've added the following to my libvirt XML definition: <qemu:commandline> <qemu:arg value="-machine"/> <qemu:arg value="kernel-irqchip=split"/> <qemu:arg value="-device"/> <qemu:arg value="amd-iommu"/> </qemu:commandline> ... and the error message I get when I launch the VM: Error starting domain: internal error: QEMU unexpectedly closed the monitor (vm='Golem'): 2024-08-13T00:26:20.165451Z qemu-system-x86_64: -device {"driver":"vfio-pci","host":"0000:01:00.0","id":"hostdev0","bus":"pci.7","addr":"0x0"}: vfio 0000:01:00.0: failed to setup container for group 12: memory listener initialization failed: Region amd_iommu: device 00.00.0 requires iommu notifier which is not currently supported In particular, the part: Region amd_iommu: device 00.00.0 requires iommu notifier which is not currently supported ... sounds to me like this is not going to work currently. Are there plans to support this? Thanks! Dan