How to enable IOMMU on Gigabyte GA-970-Gaming SLI-CF

18,543

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.

Share:
18,543

Related videos on Youtube

Zell
Author by

Zell

Updated on September 18, 2022

Comments

  • Zell
    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:

    svm iommu system info:

    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
      Zell almost 8 years
      Also, 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/…