Please Help with IOMMU

slydog1225

Member
May 14, 2021
6
0
6
30
Hello,

I've been trying to get PCI passthrough to work in order to use my GPU in a VM. Im using an AMD FX 6300 cpu on a asrock 790GM-HDV MB. In my BIOS there is no AMD-V option but there is a Virtualization option that is enabled. I've looked everywhere and it seems like my CPU should have IOMMU support.

I go through the process of updating my grub file for amd_iommu=on, and restart but when I run the below command to see if IOMMU is working I get the below message. And when I try to add a PCI device in the GUI it says no IOMMU detected. So, is it not possible on my hardware? Do I need to update something? I cant find a yes or no answer anywhere.


Code:
root@pve:~# dmesg | grep -e DMAR -e IOMMU
[    0.108746] AGP: Please enable the IOMMU option in the BIOS setup
[    1.374101] PCI-DMA: using GART IOMMU.
[    1.374103] PCI-DMA: Reserving 64MB of IOMMU area in the AGP aperture
 
Hello,

I've been trying to get PCI passthrough to work in order to use my GPU in a VM. Im using an AMD FX 6300 cpu on a asrock 790GM-HDV MB. In my BIOS there is no AMD-V option but there is a Virtualization option that is enabled. I've looked everywhere and it seems like my CPU should have IOMMU support.

I go through the process of updating my grub file for amd_iommu=on, and restart but when I run the below command to see if IOMMU is working I get the below message. And when I try to add a PCI device in the GUI it says no IOMMU detected. So, is it not possible on my hardware? Do I need to update something? I cant find a yes or no answer anywhere.


Code:
root@pve:~# dmesg | grep -e DMAR -e IOMMU
[    0.108746] AGP: Please enable the IOMMU option in the BIOS setup
[    1.374101] PCI-DMA: using GART IOMMU.
[    1.374103] PCI-DMA: Reserving 64MB of IOMMU area in the AGP aperture
Does PCI passthrough working at all if using such old AGP GPUs? I know PCI and PCIe should work but AGP?

You could flash your bios to the latest version and see if the missing option was patched in later.
If nit you are probably not able to use PCI passthrough.
 
Last edited:
I know it is still in many (Proxmox) guides, but amd_iommu=on is not necessary (it is on by default, when enabled in the BIOS) and dmesg | grep -e DMAR -e IOMMU only gives useful information on Intel platforms. journalctl -b 0 | grep -i iommu will give much more information and it is working if you see lines with Adding to iommu group.

Virtualization (AMD-V or Intel VT-x), as in running VMs, is different from IOMMU (AMD-Vi or Intel VT-d) for passthrough of devices. I could not find whether FX-6300 support AMD-Vi; only AMD-V is mentioned, never AMD-Vi.

EDIT: Sorry, I did not look to closely and found the ASRock 760GM-HDV motherboard. I have a hard time finding the ASRock 790GM-HDV.
 
Last edited:
I know it is still in many (Proxmox) guides, but amd_iommu=on is not necessary (it is on by default, when enabled in the BIOS) and dmesg | grep -e DMAR -e IOMMU only gives useful information on Intel platforms. journalctl -b 0 | grep -i iommu will give much more information and it is working if you see lines with Adding to iommu group.

Virtualization (AMD-V or Intel VT-x), as in running VMs, is different from IOMMU (AMD-Vi or Intel VT-d) for passthrough of devices. I could not find whether FX-6300 support AMD-Vi; only AMD-V is mentioned, never AMD-Vi.

EDIT: Sorry, I did not look to closely and found the ASRock 760GM-HDV motherboard. I have a hard time finding the ASRock 790GM-HDV.

I have the same problem on an old amd platform.
AMD FX(tm)-4100 Quad-Core Processor + 760G (GA-78LMT-S2P)

the iommu should be implemented within CPU, but it seems only higher end chipsets support iommu feature. If BIOS did not tell kernel to use iommu, the kernel would not use it. AGP message is fine, it is expected. GART IOMMU message is suspicious, GART is the last generation iommu, maybe on-board VGA and its UMA forced IOMMU to work in some unreachable states.

At my end, I have decided to use another machine, and install pfsense to convert this machine into a single os router.
 
Hi all,
Using this command:

Code:
dmesg | grep -e DMAR -e IOMMU

I get this message on my setup:
[ 0.083290] AGP: Please enable the IOMMU option in the BIOS setup [ 0.475542] PCI-DMA: using GART IOMMU. [ 0.475544] PCI-DMA: Reserving 64MB of IOMMU area in the AGP aperture

I am using an AMD FX 6core CPU and my motherboard is GA-78LMT-USB3.
I want to make one pool of two identical SSDs 240gb x2 for my TrueNAS VM and another one for my 2x3tb HDDs.

My issue is that I cant see and use my other disks, except the one I have installed proxmox ofc.

Thanks in advance!
 
Hi all,
Using this command:

Code:
dmesg | grep -e DMAR -e IOMMU

I get this message on my setup:
[ 0.083290] AGP: Please enable the IOMMU option in the BIOS setup [ 0.475542] PCI-DMA: using GART IOMMU. [ 0.475544] PCI-DMA: Reserving 64MB of IOMMU area in the AGP aperture

I am using an AMD FX 6core CPU and my motherboard is GA-78LMT-USB3.
I want to make one pool of two identical SSDs 240gb x2 for my TrueNAS VM and another one for my 2x3tb HDDs.

My issue is that I cant see and use my other disks, except the one I have installed proxmox ofc.

Thanks in advance!

I know this is a late response but perhaps it will help someone else. I actually have the same CPU (FX-6300) and Mobo (GA-78LMT-USB3), and I am able to pass through disks individually to a VM. Didn't try passing through an HBA because I don't have one with enough slots yet.

IOMMU doesn't appear fully functional on this setup, not sure whether it's the CPU or the motherboard. I have "Virtualization Technology" enabled in the BIOS. Here are the IOMMU errors I see, using the commands specified earlier in this thread (red highlights are mine):

Code:
root@pve:~# journalctl -b 0 | grep -i iommu
Sep 15 12:45:54 pve kernel: AGP: Please enable the IOMMU option in the BIOS setup
Sep 15 12:45:54 pve  kernel: iommu: Default domain type: Translated
Sep 15 12:45:54 pve kernel: iommu: DMA domain TLB invalidation policy: lazy mode
Sep 15 12:45:54 pve  kernel: PCI-DMA: using GART IOMMU.
Sep 15 12:45:54 pve kernel: PCI-DMA: Reserving 64MB of IOMMU area in the AGP aperture
Sep 15 12:45:55 pve kernel: AMD-Vi: AMD IOMMUv2 functionality not available on this system - This is not a bug.

root@pve:~# dmesg | grep -e DMAR -e IOMMU
[    0.128900] AGP: Please enable the IOMMU option in the BIOS setup
[    0.623888] PCI-DMA: using GART IOMMU.
[    0.623890] PCI-DMA: Reserving 64MB of IOMMU area in the AGP aperture
[    8.982633] AMD-Vi: AMD IOMMUv2 functionality not available on this system - This is not a bug.

And here is the config of my VM with passed-through disks:

Code:
root@pve:~# cat /etc/pve/qemu-server/100.conf
agent: 1
balloon: 10240
boot: order=scsi0;ide2;net0
cores: 4
cpu: host
ide2: none,media=cdrom
memory: 24576
meta: creation-qemu=8.0.2,ctime=1692336751
name: truenas1
net0: virtio=A6:E5:CF:60:71:D8,bridge=vmbr0,firewall=1
numa: 0
onboot: 1
ostype: l26
scsi0: local-zfs:vm-100-disk-0,size=24G
scsi1: /dev/disk/by-id/ata-Hitachi_HUS724040ALE641_PBKL0A8S,backup=0,serial=PBKL0A8S,size=3907018584K
scsi2: /dev/disk/by-id/ata-Hitachi_HUS724040ALE641_PAKGJ6JS,backup=0,serial=PAKGJ6JS,size=3907018584K
scsi3: /dev/disk/by-id/ata-Hitachi_HUS724040ALE641_PAH00X1T,backup=0,serial=PAH00X1T,size=3907018584K
scsi4: /dev/disk/by-id/ata-Hitachi_HUS724040ALE641_PBK7PH9S,backup=0,serial=PBK7PH9S,size=3907018584K
scsi5: /dev/disk/by-id/ata-Hitachi_HUS724040ALE641_PBG69TES,backup=0,serial=PBG69TES,size=3907018584K
scsi6: /dev/disk/by-id/ata-Hitachi_HUS724040ALE641_PBJ2V35T,backup=0,serial=PBJ2V35T,size=3907018584K
scsi7: /dev/disk/by-id/ata-HITACHI_HUS724040ALE640_P1GPJWMY,backup=0,serial=P1GPJWMY,size=3907018584K
scsi8: /dev/disk/by-id/ata-HITACHI_HUS724040ALE640_P4H6YTZC,backup=0,serial=P4H6YTZC,size=3907018584K
scsihw: virtio-scsi-pci
smbios1: uuid=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
sockets: 1
startup: order=10,up=120
usb2: host=1d6b:0003
vmgenid: xxxxxxxxxxxxxxxxxxxxxxxxxxxx
 
Following up on my last post, further research indicates that the GA-78LMT-USB3 motherboard uses a 760G chipset (with an SB710 south bridge), which is not listed as supporting IOMMU here. So, even though the FX-6300 appears to have IOMMU support (one of the first AMD chips to do it), it likely won't work properly on this combination because of the motherboard/chipset.
 

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!