KVM 上的 PCI 直通

KVM 上的 PCI 直通

我在基于 Intel 的机器上的 Ubuntu 11.10 上运行 KVM,带有 G33 芯片组和 Q6600 处理器(支持 VT-d)。

当我想将我的 PCI 电视卡添加到虚拟机时遇到了问题。

我收到此错误“未找到 IOMMU。无法分配设备“hostdev0””。

有人能指导我如何正确设置,以便我的 PCI 电视卡能够传递到虚拟机吗?

我已将其添加到我的配置文件中:

   <hostdev mode='subsystem' type='pci' managed='yes'>
     <source>
      <address bus='0x03' slot='0x00' function='0x00'/>
     </source>
   </hostdev>

这是设备信息:

<device>
  <name>pci_0000_03_00_0</name>
  <parent>pci_0000_00_1c_1</parent>
  <driver>
    <name>cx23885</name>
  </driver>
  <capability type='pci'>
    <domain>0</domain>
    <bus>3</bus>
    <slot>0</slot>
    <function>0</function>
    <product id='0x8852'>CX23885 PCI Video and Audio Decoder</product>
    <vendor id='0x14f1'>Conexant Systems, Inc.</vendor>
  </capability>
</device>

感谢您的帮助 ;-)

答案1

英特尔把这搞得一团糟,因为 Vt-d 功能实际上可以存在于芯片组上。

http://www.intel.com/assets/pdf/prodbrief/317312.pdf

Q33 没有这个功能,但 Q35 有。VT-D 支持的位置取决于内存控制器的位置。对于你的 CPU,它不是 芯片上,因此您有机会通过芯片组升级添加 Vt-d。然而,像 Nehalam 这样的芯片具有集成内存控制器,因此所有与内存相关的功能都锁定在 CPU 中。

http://www.intel.com/Assets/PDF/datasheet/316966.pdf

1.3.12 Intel® Virtualization Technology for Directed I/O (Intel® VT-d) (Intel® 82Q35 GMCH Only) Intel® Virtualization Technology for Directed I/O comprises technology components to support virtualization of platforms based on Intel architecture microprocessors. This document describes the chipset hardware components supporting I/O virtualization that are in the (G)MCH. Intel® VT-d is only supported by the Intel® Q35 Express chipset.

也许您可以在 Q35 上找到优惠,但我猜从长远来看,使用片上内存控制器升级主板和芯片会更具成本效益。

相关内容