VMware Cloud Community
tpahula
Contributor
Contributor

Virtualize IOMMU (IO memory management unit) option missing

I am using nested virtualization with VMware Workstation 16.1 for Windows. I have Ryzen 7 5800X and Asus ROG Strix B550-F Gaming motherboard with latest bios. AMD-V and IOMMU are enabled in BIOS setup. IOMMU option is not available. How to get this option ? I have this option in my old i7-2700k computer.

iommu-missing.png

6 Replies
chrisphilipov
Contributor
Contributor

Same issue when updated to Workstation Pro 16.2.2. BIOS options are enabled and Hyper-V is also enabled on the host.

Reply
0 Kudos
ksio89
Enthusiast
Enthusiast

Same thing on my PC with Ryzen 5 5600 and a B450 motherboard. IOMMU is enabled on BIOS, but this option is nowhere to be seen. It's available on my laptop with an Intel i5-1135G7. I wonder if VMware doesn't support AMD-Vi, only Intel VT-d?

Reply
0 Kudos
MrJenkins3
Contributor
Contributor

Facing same issue, any solution?

Reply
0 Kudos
ksio89
Enthusiast
Enthusiast

A friend has a Ryzen 7 3800X and instructed me to insert this line into the VM .vmx file:

vvtd.enable = "TRUE"

He was kind enough to send me some logs generated by dmesg on a Linux VM:

before the addition:


[ 0.896952] iommu: Default domain type: Translated
[ 0.896952] iommu: DMA domain TLB invalidation policy: lazy mode
[ 1.276754] AMD-Vi: AMD IOMMUv2 functionality not available on this system - This is not a bug.

after the addition:


[ 0.902295] iommu: Default domain type: Translated
[ 0.902295] iommu: DMA domain TLB invalidation policy: lazy mode
[ 1.014568] pci 0000:00:00.0: Adding to iommu group 0
[ 1.014575] pci 0000:00:01.0: Adding to iommu group 1
[ 1.014593] pci 0000:00:07.0: Adding to iommu group 2
[ 1.014598] pci 0000:00:07.1: Adding to iommu group 2
[ 1.014603] pci 0000:00:07.3: Adding to iommu group 2
[ 1.014608] pci 0000:00:07.7: Adding to iommu group 2
[ 1.014614] pci 0000:00:0f.0: Adding to iommu group 3
[ 1.014619] pci 0000:00:10.0: Adding to iommu group 4
[ 1.014625] pci 0000:00:11.0: Adding to iommu group 5
[ 1.014725] pci 0000:00:15.0: Adding to iommu group 6
[ 1.014747] pci 0000:00:15.1: Adding to iommu group 6
[ 1.014776] pci 0000:00:15.2: Adding to iommu group 6
[ 1.014798] pci 0000:00:15.3: Adding to iommu group 6
[ 1.014835] pci 0000:00:15.4: Adding to iommu group 6
[ 1.014857] pci 0000:00:15.5: Adding to iommu group 6
[ 1.014890] pci 0000:00:15.6: Adding to iommu group 6
[ 1.014912] pci 0000:00:15.7: Adding to iommu group 6
[ 1.014998] pci 0000:00:16.0: Adding to iommu group 7
[ 1.015019] pci 0000:00:16.1: Adding to iommu group 7
[ 1.015041] pci 0000:00:16.2: Adding to iommu group 7
[ 1.015064] pci 0000:00:16.3: Adding to iommu group 7
[ 1.015085] pci 0000:00:16.4: Adding to iommu group 7
[ 1.015107] pci 0000:00:16.5: Adding to iommu group 7
[ 1.015129] pci 0000:00:16.6: Adding to iommu group 7
[ 1.015151] pci 0000:00:16.7: Adding to iommu group 7
[ 1.015237] pci 0000:00:17.0: Adding to iommu group 8
[ 1.015266] pci 0000:00:17.1: Adding to iommu group 8
[ 1.015289] pci 0000:00:17.2: Adding to iommu group 8
[ 1.015311] pci 0000:00:17.3: Adding to iommu group 8
[ 1.015355] pci 0000:00:17.4: Adding to iommu group 8
[ 1.015377] pci 0000:00:17.5: Adding to iommu group 8
[ 1.015400] pci 0000:00:17.6: Adding to iommu group 8
[ 1.015422] pci 0000:00:17.7: Adding to iommu group 8
[ 1.015508] pci 0000:00:18.0: Adding to iommu group 9
[ 1.015548] pci 0000:00:18.1: Adding to iommu group 9
[ 1.015571] pci 0000:00:18.2: Adding to iommu group 9
[ 1.015594] pci 0000:00:18.3: Adding to iommu group 9
[ 1.015617] pci 0000:00:18.4: Adding to iommu group 9
[ 1.015640] pci 0000:00:18.5: Adding to iommu group 9
[ 1.015662] pci 0000:00:18.6: Adding to iommu group 9
[ 1.015685] pci 0000:00:18.7: Adding to iommu group 9
[ 1.015688] pci 0000:02:00.0: Adding to iommu group 5
[ 1.015704] pci 0000:02:01.0: Adding to iommu group 5
[ 1.015708] pci 0000:02:02.0: Adding to iommu group 5
[ 1.015710] pci 0000:02:03.0: Adding to iommu group 5
[ 1.121256] pci 0000:00:02.0: AMD-Vi: Found IOMMU cap 0x40
[ 1.332502] AMD-Vi: AMD IOMMUv2 functionality not available on this system - This is not a bug

And here's what my vmware.log says after I added it on my VM:

2023-09-03T20:50:54.542Z In(05) vcpu-1 AMDIommuHandleRead: VRIP=0xffffffffb16f4f60 0x1a0 0x

I'm not sure if these strings confirm the trick worked, but it looks like so.




Tags (2)
Reply
0 Kudos
MrJenkins3
Contributor
Contributor

It seemed to remove the service qubes, so it probably had something to do with my hardware (Ryzen 5 3600x). Appreciate the help though.

Reply
0 Kudos
ksio89
Enthusiast
Enthusiast

No problem. I enabled it on Linux and Windows VMs, and didn't cause any issues AFAIK.

By the way, my desktop is nota available at the moment, could you please enter these commands on a Linux terminal and share the log?


 

sudo dmesg | grep AMD-Vi

 


I want to see how it compares to this one:

 

AMD-Vi_boot_log_screenshot.png

edit: I entered these commands, it confirms IOMMU/AMD-Vi is indeed enabled aftering adding that line:

ksio89@UBUNTUSTUDIO89:~$ sudo sudo dmesg | grep AMD-Vi
[    0.673755] AMD-Vi: Using global IVHD EFR:0x4000000000c4, EFR2:0x0
[    1.623273] pci 0000:00:02.0: AMD-Vi: Found IOMMU cap 0x40
[    1.623279] AMD-Vi: Extended features (0x4000000000c4, 0x0): X2APIC IA GA
[    1.623283] AMD-Vi: Interrupt remapping enabled
[    1.623284] AMD-Vi: X2APIC enabled

ksio89@UBUNTUSTUDIO89:~$ sudo acpidump | egrep IVRS
IVRS @ 0x0000000000000000
    0000: 49 56 52 53 80 01 00 00 01 3F 56 4D 57 41 52 45  IVRS.....?VMWARE
    0010: 56 4D 57 20 49 56 52 53 01 00 04 06 56 4D 57 20  VMW IVRS....VMW
	
ksio89@UBUNTUSTUDIO89:~$ if compgen -G "/sys/kernel/iommu_groups/*/devices/*" > /dev/null; then
    echo "AMD's IOMMU / Intel's VT-D is enabled in the BIOS/UEFI."
else
    echo "AMD's IOMMU / Intel's VT-D is not enabled in the BIOS/UEFI"
fi
AMD's IOMMU / Intel's VT-D is enabled in the BIOS/UEFI.
ksio89@UBUNTUSTUDIO89:~$ 


 

Reply
0 Kudos