Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I am running the following command booting a Debian live CD passing a host PCI device to the guest as a test and KVM errors out;

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)

I shoved an old spare NIC into my motherboard to test PCI pass through. I have searched the Internet with Goolge and found that errors relating to "No IOMMU found" often mean the PCI device is not supported by KVM.

Does KVM have to support the device being "passed-through"? I though the point was to pass the device through and let the guest worry about it? Ultimately I want to pass-through a PCI random number generator, is this not going to be possible with KVM?

Thank you.

share|improve this question
1  
You don't have enough information here. Please let us know what CPU(s) and motherboard are in your server. –  Michael Hampton Sep 19 '12 at 11:47
    
Well that makes me skeptical if PCI passthrough is motherboard and CPU dependant? This test PC has an ASRock mobo, Z77 Extreme4. CPU is Intel(R) Core(TM) i5-2310 CPU @ 2.90GHz. –  jwbensley Sep 19 '12 at 11:49

1 Answer 1

up vote 1 down vote accepted

PCI passthrough requires CPU/motherboard features to be explicitly enabled in the system BIOS.

AMD

For AMD processors, you must enable IOMMU in the system BIOS.

Intel

For Intel processors, you must:

  1. Enable VT-d in the system BIOS.
  2. You may also need to add intel_iommu=on to the kernel boot command line.

For more information, see the KVM wiki.

share|improve this answer
    
Ah I see, Interesting! I never knew that (Obviously!).Thanks for the info Michael, this CPU doesn't support Vt-d so that explains that :) –  jwbensley Sep 19 '12 at 12:25
    
That would be why it's not working. At least now you know what features you need to look for when buying hardware. :) –  Michael Hampton Sep 19 '12 at 12:31
    
Yes indeed, very helpful. I am now reading the wiki pages on VT-x and VT-d and the Intel pages, thanks again :) –  jwbensley Sep 19 '12 at 12:41

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.