Gigabyte GA-970-Gaming SLI-CFでIOMMUを有効にする方法

Gigabyte GA-970-Gaming SLI-CFでIOMMUを有効にする方法

BIOSでsvmとiommuを有効にしましたが、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設定:

サポートベクトルマシン イオム システムメッセージ:

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"

答え1

http://wiki.xen.org/wiki/VTd_HowTo:

チップセットがIOMMUをサポートしていても、それを使用するにはBIOSにACPI IVRSテーブルが必要です!したがって、実際のサポートはマザーボードの製造元によって異なります。この記事を書いた時点で、すべてのマザーボードにIOMMUをサポートする(ベータ)BIOSがあるようです。

970チップセット自体が仮想化をサポートしているように見えますが、BIOSもそれをサポートする必要があります。また、あなたのマザーボードがこれに関連して機能することが知られているとマークされていません。

だから仮想化をサポートしていないようです。

私はGA-990FXA-UD3とGA-990FXA-UD5を使ってみました。どちらもkvmをうまく実行します。

答え2

amd_iommu=on iommu=soft iommu=pt iommu=1 quietすべて有効になったようです。このようなことはあってはいけません。 grubを編集してのみ有効にすることをお勧めquietamd_iommu=onますiommu=pt。何か欠けているようですが、splashスプラッシュ画面が欲しくないかもしれません。

iommu=pt(パスモード)とiommu=soft(ソフトウェアモード)を同時に有効にすると、どちらも使用する必要があるため、競合が発生します。iommu=ptマザーボードを介して提供される実際のIOMMUを使用しているので(パススルーモード)を使用することをお勧めします。

grubで無効なIOMMU設定を修正するには、別のスレッドにある私のガイドに従ってください。 https://ubuntuforums.org/showthread.php?t=2188370&page=3&p=13620494#post13620494

または以下を読んでください:

Grub構成の編集: sudo nano /etc/default/grub

以下のように行を編集します。 GRUB_CMDLINE_LINUX_DEFAULT="amd_iommu=on iommu=soft iommu=pt iommu=1 quiet"

音声タグ内のコンテンツを削除して追加すると、行は次の"quiet splash amd_iommu=on iommu=pt"ようになります。 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amd_iommu=on iommu=pt"

グラップアップデート: sudo update-grub

システムを再起動し、DEL / Deleteキーを押してBIOS / EUFI設定に入ります。

IOMMUが有効になっていること、XHCIスイッチングが有効になっていること、EHCIスイッチングが無効になっていること、USBレガシーサポートが有効になっていることを確認してください。

OSタイプをWindows8に設定しましたが、CSM「互換性サポートモジュール」を有効にして、LinuxにUEFIの代わりにBIOSエミュレーションを介して起動するようにしました。

BIOS/UEFI 設定を保存して終了します。これで、LinuxでIOMMUを正しく使用できるようになりました。

関連情報