[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Multi-Function PCI passthrough not implemented?



Hi all,

There are several mentions of these features on the wiki
(http://wiki.xen.org/wiki/VTdHowTo,
http://wiki.xen.org/wiki/Bus:Device.Function_(BDF)_Notation). However,
this is definitely not working and I could not see it implemented
anywhere in libxl.

I actually even think there is a bug in the code:

xlu_pci_parse_bdf in libxlu_pci.c accepts inputs of the form
"domain:bus:dev.*" (* is really a star here), which is supposed to
designate all the functions for this PCI device.
In this case, pcidev->func will be set to an uninitiated value by
pcidev_struct_fill().
Later on, libxl__device_pci_add() and libxl_pcidev_assignable()
(libxl_pci.c) are called with pcidev as an argument. And because
pcidev->func is garbage, an error is thrown.

From the user's point of view, it looks like this:
> xl pci-attach ovsVM0 '0000:85:10.*'
libxl: error: libxl_pci.c:1058:libxl__device_pci_add: PCI device
0:85:10.40 is not assignable

(40 is the garbage hexadecimal value)

Antonin

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.