[CentOS-virt] Setting up a pci passthrough device
James B. Byrne
byrnejb at harte-lyne.ca
Mon Feb 6 10:48:10 EST 2012
On Sat, February 4, 2012 10:39, Nenad Opsenica wrote:
>
>
> On 02/03/2012 05:32 PM, James B. Byrne wrote:
>> Where does this go inside the rest of the guest
>> configuration?
>
> virt-manager GUI places PCI device pass-through inside
> <devices> ...
http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Host_Configuration_and_Guest_Installation_Guide/chap-Virtualization_Host_Configuration_and_Guest_Installation_Guide-PCI_Assignment.html
I have followed the instructions in the RedHat reference
above to the best of my ability to understand them. I add
the pci multi-port serial io card through virt-manager and
it was indeed entered into the virtual machine's
configuration file inside the <devices> tag:
<hostdev mode='subsystem' type='pci' managed='yes'>
<source>
<address domain='0x0000' bus='0x00' slot='0x03'
function='0x0'/>
</source>
<address type='pci' domain='0x0000' bus='0x00'
slot='0x07' function='0x0'/>
</hostdev>
However, when I try and start the virtual machine I get
this error:
Error starting domain: internal error Unable to reset PCI
device 0000:00:03.0: no FLR, PM reset or bus reset
available
Traceback (most recent call last):
File "/usr/share/virt-manager/virtManager/asyncjob.py",
line 44, in cb_wrapper
callback(asyncjob, *args, **kwargs)
File "/usr/share/virt-manager/virtManager/asyncjob.py",
line 65, in tmpcb
callback(*args, **kwargs)
File "/usr/share/virt-manager/virtManager/domain.py",
line 1050, in startup
self._backend.create()
File "/usr/lib64/python2.6/site-packages/libvirt.py",
line 511, in create
if ret == -1: raise libvirtError ('virDomainCreate()
failed', dom=self)
libvirtError: internal error Unable to reset PCI device
0000:00:03.0: no FLR, PM reset or bus reset available
The steps I followed were:
1. Check VT-D extensions available and enabled in BIOS - yes
2. Restart virtual host - yes
3. Identify device - yes
<address domain='0x000' bus='0x00' slot='0x03'
function='0x0'/>
4. Add device to virtual machine configuration - yes
. . .
<hostdev mode='subsystem' type='pci' managed='yes'>
<source>
<address domain='0x0000' bus='0x00' slot='0x03'
function='0x0'/>
</source>
<address type='pci' domain='0x0000' bus='0x00'
slot='0x07' function='0x0'/>
</hostdev>
<memballoon model='virtio'>
<address type='pci' domain='0x0000' bus='0x00'
slot='0x06' function='0x0'/>
</memballoon>
</devices>
</domain>
5. Enable SELinux boolean - yes
getsebool virt_use_sysfs
virt_use_sysfs --> on
6. Start virtual machine - fails
Am I making any obvious errors? Has anyone here
configured and managed to get a multi-port serial card
working with a virtual guest?
--
*** E-Mail is NOT a SECURE channel ***
James B. Byrne mailto:ByrneJB at Harte-Lyne.ca
Harte & Lyne Limited http://www.harte-lyne.ca
9 Brockley Drive vox: +1 905 561 1241
Hamilton, Ontario fax: +1 905 561 0757
Canada L8E 3C3
More information about the CentOS-virt
mailing list