Mailing List Archive

PCIe passthrough, "no IOMMU" error, despite having an IOMMU
Hello,

I am having issues passing through a pcie device (NIC) to a domU. I booted
xen with iommu=force and linux with iommu=on.

After boot and logging in, I `rmmod r8169` and `modprobe xen-pciback`, then
I can do `xl pci-assignable-add 87:00.0`. Once I start my domU, I try to
run:

$ xl pci-attach testdomu1 '87:00.0'
libxl: error: libxl_pci.c:1561:libxl__device_pci_add: Domain 1:PCI device
0000:87:00.0 cannot be assigned - no IOMMU?
libxl: error: libxl_pci.c:1721:device_pci_add_done: Domain
1:libxl__device_pci_add failed for PCI device 0:87:0.0 (rc -1)
libxl: error: libxl_device.c:1407:device_addrm_aocomplete: unable to add
device

In a native linux boot, I see the iommu in dmesg. In a xen boot, I get no
linux iommu logs, but I do see it in the xen dmesg

I have a Threaderipper 7960X on a ASRock TRX50 WS, and I can reproduce this
in xen 4.14, 4.17, and 4.18, and with Linux kernels 5.10 and 6.1. The
latter is from a brand-new debian 12 install.

What configuration may I be missing? I haven't tried pciback.hide because I
haven't compiled that module in (I'm using the debian 11 & 12 kernels)

Thanks,

Patrick