How to enable IOMMU on Gigabyte GA-970-Gaming SLI-CF
Solution 1
http://wiki.xen.org/wiki/VTd_HowTo:
Even when the chipset supports IOMMU, the bios must have a ACPI IVRS table to enable the use of it! So actual support depends on the motherboard manufacturer. At the time of writing all motherboards seem to have a (beta)bios available supporting the IOMMU.
Although 970 chipset itself looks to be supporting virtualization, it must be supported by bios as well. Also, I did not find your motherboard listed as known to be working in that respect.
So, looks like it does not support virtualization.
I have the experience with GA-990FXA-UD3 and GA-990FXA-UD5 - they both run kvm just fine.
Solution 2
It seems you have amd_iommu=on iommu=soft iommu=pt iommu=1 quiet
all enabled at once. This should not be the case. I suggest you edit grub and only have quiet
, amd_iommu=on
and iommu=pt
enabled. It seems you are missing splash
but you may not want the splash screen anyway.
Having both iommu=pt
(pass through mode) and iommu=soft
(software mode) enabled at same time will cause a clash since your only supposed to use one or the other. I suggest using iommu=pt
(pass through mode) since it will use the real IOMMU avaliable via the motherboard.
Follow my guide on this other thread if you wish to correct your IOMMU misconfig in grub: https://ubuntuforums.org/showthread.php?t=2188370&page=3&p=13620494#post13620494
or read below:
Edit Grub config:
sudo nano /etc/default/grub
Edit the line that looks like this:
GRUB_CMDLINE_LINUX_DEFAULT="amd_iommu=on iommu=soft iommu=pt iommu=1 quiet"
Remove stuff inside the speech marks and add "quiet splash amd_iommu=on iommu=pt"
in side it so now the line now looks like this:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amd_iommu=on iommu=pt"
Update grub:
sudo update-grub
Reboot the system and hit DEL / Delete key to enter BIOS/EUFI setup:
Ensure IOMMU is enabled, XHCI handoff is enabled, EHCI handoff is disabled, USB Legacy support is enabled.
OS type I have set to Windows8 but I have CSM enabled "Compatibility Support Module" so Linux will boot via BIOS emulation instead of UEFI.
Save and exit BIOS/UEFI setup. You should now beable to use IOMMU properly under Linux.
Related videos on Youtube
Zell
Updated on September 18, 2022Comments
-
Zell over 1 year
I've enabled svm and iommu in the bios, but I get "not available" from dmesg:
# root@xen:~# dmesg |grep -i iommu [ 0.000000] Command line: placeholder root=UUID=4965005e-54e9-47b9-92ff-04f469927bf8 ro amd_iommu=on iommu=soft iommu=pt iommu=1 quiet [ 0.000000] Kernel command line: placeholder root=UUID=4965005e-54e9-47b9-92ff-04f469927bf8 ro amd_iommu=on iommu=soft iommu=pt iommu=1 quiet [ 4.271167] AMD IOMMUv2 driver by Joerg Roedel <[email protected]> [ 4.271168] AMD IOMMUv2 functionality not available on this system
bios settings:
root@xen:~# uname -a Linux xen 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2 (2016-04-08) x86_64 GNU/Linux root@xen:~# dmidecode |grep -i product Product Name: To be filled by O.E.M. Product Name: GA-970-Gaming SLI-CF root@xen:~# grep Processor /proc/cpuinfo |tail -1 model name : AMD FX(tm)-8300 Eight-Core Processor root@xen:~# grep iommu /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT="amd_iommu=on iommu=soft iommu=pt iommu=1 quiet"
-
Zell almost 8 yearsAlso, there are no updated bios versions for my motherboard and, according to this site, it looks like my chipset (970) should support iommu: en.wikipedia.org/wiki/…
-