kvmのゲストOSでUSBデバイスを使う- USBホストコントローラーをPCIパススルー

AMDならAMD-Vi、IntelならVT-dをBIOSで有効にする必要がある。

 

    1. BIOS設定

vi /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT=“intel_iommu=on nomdmonddf nomdmonisw” GRUB_CMDLINE_LINUX=“intel_iommu=on”

※AMDの場合は「amd_iommu=on」

    1. 設定更新

update-grub

 

    1. 再起動

reboot

    1. 設定確認

以下のようなメッセージが出ていればOK
dmesg | grep IOMMU
[ 0.000000] Intel-IOMMU: enabled

    1. USBデバイス確認

lspci -D | grep USB
0000:00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)
0000:00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)

    1. ゲスト設定

virsh edit VM

<device>

<hostdev mode=‘subsystem’ type=‘pci’ managed=‘yes’>

<source>

<address domain=‘0x0000’ bus=‘0x00’ slot=‘0x1a’ function=‘0x0’/>

</source>

</hostdev>

</device>