On Wed, May 22, 2024 at 08:34:13PM +0800, Aaron Lu wrote: > > I do not have Windows VM right now and will report back once I finished > testing there.
Tested with a Windows 10 VM and turnes out virtio pci devices always use MSI no matter vIOMMU and bypass iommu are specified or not. So according to the test results of Windows VM and FreeBSD VM, yeah, it looks like this issue is Linux specific. Maybe change the wording in the doc like below? diff --git a/docs/bypass-iommu.txt b/docs/bypass-iommu.txt index e6677bddd3..fa80a5ce1f 100644 --- a/docs/bypass-iommu.txt +++ b/docs/bypass-iommu.txt @@ -68,6 +68,12 @@ devices might send malicious dma request to virtual machine if there is no iommu isolation. So it would be necessary to only bypass iommu for trusted device. +When Intel IOMMU is virtualized, if irq remapping is enabled, PCI and PCIe +devices that bypassed vIOMMU will have their MSI/MSI-x functionality disabled +and fall back to IOAPIC under Linux x86_64 guest. If this is not desired, +disable irq remapping with: +qemu -device intel-iommu,intremap=off + Implementation ============== The bypass iommu feature includes: