[SOLVED] z97x-ud3h iommu

t3dc0x

New Member
Jun 23, 2023
8
1
3
Just installed the latest proxmox. First time user here. I'd like to pass my HBA through to a VM, but for some reason IOMMU won't initialize. I've read through lots of forum posts and the directions, but I'm not seeing anything change. Here's my config details:

Code:
root@pve:~# find /sys/kernel/iommu_groups/ -type l

root@pve:~# dmesg | grep -e DMAR -e IOMMU -e AMD-Vi
[    0.007263] ACPI: DMAR 0x00000000C6543A18 0000B8 (v01 INTEL  BDW      00000001 INTL 00000001)
[    0.007274] ACPI: Reserving DMAR table memory at [mem 0xc6543a18-0xc6543acf]
[    0.135920] DMAR: Host address width 39
[    0.135921] DMAR: DRHD base: 0x000000fed90000 flags: 0x0
[    0.135924] DMAR: dmar0: reg_base_addr fed90000 ver 1:0 cap c0000020660462 ecap f0101a
[    0.135926] DMAR: DRHD base: 0x000000fed91000 flags: 0x1
[    0.135928] DMAR: dmar1: reg_base_addr fed91000 ver 1:0 cap d2008c20660462 ecap f010da
[    0.135930] DMAR: RMRR base: 0x000000c9e8b000 end: 0x000000c9e99fff
[    0.135931] DMAR: RMRR base: 0x000000cb000000 end: 0x000000cf1fffff
[    0.135933] DMAR-IR: IOAPIC id 8 under DRHD base  0xfed91000 IOMMU 1
[    0.135934] DMAR-IR: HPET id 0 under DRHD base 0xfed91000
[    0.135935] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
[    0.136407] DMAR-IR: Enabled IRQ remapping in x2apic mode

root@pve:~# cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-6.2.16-3-pve root=/dev/mapper/pve-root ro quiet intremap=no_x2apic_optout iommu=pt

root@pve:~# lsmod | grep vfio
vfio_pci               16384  0
vfio_pci_core          94208  1 vfio_pci
irqbypass              16384  2 vfio_pci_core,kvm
vfio_iommu_type1       49152  0
vfio                   57344  3 vfio_pci_core,vfio_iommu_type1,vfio_pci
iommufd                73728  1 vfio

System is an i7-4790 (non-K). BIOS shows Intel Virtualization Technology and VT-d both enabled. Looks to me like this CPU is supported for IOMMU.

Any help would be appreciated. Thanks!
 
It does not contain intel_iommu=on. You need to add it according to the manual. Please follow the instructions carefully as you did add other parameters but not the essential one.
The docs appear to say this is only for older kernels:
For Intel CPUs, you may also need to enable the IOMMU on the kernel command line for older (pre-5.15) kernels by adding:
intel_iommu=on
Am I misreading?

Code:
# uname -a
Linux pve 6.2.16-3-pve #1 SMP PREEMPT_DYNAMIC PVE 6.2.16-3 (2023-06-17T05:58Z) x86_64 GNU/Linux
 
  • Like
Reactions: leesteken
The docs appear to say this is only for older kernels:

Am I misreading?
You are right! Proxmox enabled it by default in the early 5.15 kernels but that was problematic for too many systems and was reverted. I guess the manual was not updated and I hope a staff member reads this and makes the change.
 
  • Like
Reactions: t3dc0x

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!