最新のFedora20上のKVMで、VGAパススルーを行ってみたので、そのまとめ。
様々な情報が行き交ってますが、やり方はとても簡単でした。

前提

  • パススルー未設定のVMが、virt-managerを用いて動かせる状態にある

やりかた

1. VT-dの設定をする

grub2の設定ファイルに “intel_iommu=on”を書き込む

1
2
3
4
5
# vi /etc/grub2.cfg

SYSFONT=latarcyrheb-sun16 rhgb rd.luks=0 KEYTABLE=jp106 LANG=en_US.UTF-8 intel_iommu=on

# grub2-mkconfig -o /boot/grub2/grub.cfg

LANG=の後あたりに書き込んでおけば間違いなさそうです。
その後、ちゃんと読み込まれたかチェック

1
$ dmesg | grep -e DMAR -e IOMMU

“Intel-IOMMU: enabled”の記述が見つかれば、OKです。

2. VGAのアドレスを確認する

1
# lspci |grep VGA

なりなんなりで、探す。先頭の01:00.0みたいなやつをメモっておく。

3. virshでデバイスを確認

1
# virsh nodedev-list | grep pci 

ででてくる、pci_0000_01_00_0みたいなやつをチェック。
さっき控えたものと似たものを、控えておく。(例: 01:00.0なら、pci_0000_01_00_0)

4. virshでデバイスをデタッチ

1
# virsh nodedev-dettach pci_0000_01_00_0

これで、システムからPCIが切断されました。

5. virt-managerでpciを取り付ける

デバイスの追加からやれば迷うことはないと思います。

これで完成です。windows8から、デバイスマネージャでちゃんと見ることが出来ました。
でも、僕の環境だと、デバイスマネージャでコード43がでてデバイスが有効にならないんですよね、、
XenServerのパススルーでも同様なことが起こったんですが、理由知りません?