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.
Same issue when updated to Workstation Pro 16.2.2. BIOS options are enabled and Hyper-V is also enabled on the host.
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?
Facing same issue, any solution?
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.
It seemed to remove the service qubes, so it probably had something to do with my hardware (Ryzen 5 3600x). Appreciate the help though.
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:
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:~$