AMD

AMD

我正在运行以下命令,启动 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 处理器,您必须:

  1. 在系统 BIOS 中启用 VT-d。
  2. 您可能还需要添加intel_iommu=on到内核启动命令行。

了解更多信息,请参阅 KVM 维基

相关内容