https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/6/html/virtualization_administration_guide/chap-guest_virtual_machine_device_configuration
https://www.si1230.com/?p=46840
https://www.osarusystem.com/misc/tv_server_with_kvm.html
1. パススルーするディバイスのVID(ベンダーID)とPID(プロダクトID)を確認する
# lspci -nnv
2.IOMMU をKernelにロードの指示をBoot時のオプションに付け加える。
2.1 設定ファイルの更新
# vi /etc/default/grub
GRUB_CMDLINE_LINUX="intel_iommu=on iommu=pt vfio-pci.ids=VID:PID"
を追加
2.2 Grubの設定に反映。
# sudo update-grub
2.3 新しいオプションと共にシステムを立ち上げる。
# shutdown -r now
3. IOMMUがイネーブルされているか確認
# dmesg | grep IOMMU | grep enabled
[ 0.124024] DMAR: IOMMU enabled
4. パススルーするディバイスがVFIO管理下にあるか確認
# lspci -nnv -d VID:PID
Kernel driver in use: vfio-pci
5. VMの設定変更
5.1 カードのPCIアドレスを確認する
# virsh nodedev-dumpxml pci_0000_XX_YY_Z
<address domain='0x0000' bus='0xXX' slot='0xYY' function='0xz'/>
5.2 VMをシャットダウンする
# virsh shutdown VM ; virsh list --all
5.3 VMの設定ファィルの変更
# virsh edit VM
<devices></devices>の間に追加します。
<hostdev mode='subsystem' type='pci' managed='yes'>
<source>
<address domain='0x0000' bus='0xXX' slot='0xYY' function='0x0Z'/>
</source>
</hostdev>