我正在运行以下命令,启动 Debian 实时 CD,将主机 PCI 设备传递给客户机作为测试,并出现 KVM 错误;
kvm -m 512 -boot c -net none -hda /media/AA502592502565F3/debian.iso -device pci-assign,host=07:00.0
PCI region 1 at address 0xf7920000 has size 0x80, which is not a multiple of 4K. You might experience some performance hit due to that.
No IOMMU found. Unable to assign device "(null)"
kvm: -device pci-assign,host=07:00.0: Device 'pci-assign' could not be initialized
lspci | grep 07
07:00.0 Ethernet controller: 3Com Corporation 3c905C-TX/TX-M [Tornado] (rev 74)
我将一块旧的备用网卡插入主板以测试 PCI 直通。我使用 Goolge 搜索了互联网,发现与“未找到 IOMMU”相关的错误通常意味着 KVM 不支持 PCI 设备。
KVM 是否必须支持“直通”设备?我认为重点是让设备通过,让客户自己处理?最终我想通过 PCI 随机数生成器,这在 KVM 中不可能实现吗?
谢谢。
答案1
PCI 直通需要在系统 BIOS 中明确启用 CPU/主板功能。
AMD
对于 AMD 处理器,您必须在系统 BIOS 中启用 IOMMU。
英特尔
对于 Intel 处理器,您必须:
- 在系统 BIOS 中启用 VT-d。
- 您可能还需要添加
intel_iommu=on
到内核启动命令行。
了解更多信息,请参阅 KVM 维基。