Hi, Currently PCI slot functions are not virtualized. When I hide 0000:06:01.1 it appears as 0000:00:00.1 and there is no function 0 for the slot. This is an issue because on linux/ia64, functions > 0 are not probed if there is no function 0. How is it handled on x86 ? Should I add an option to virtualize slot functions ? Tristan. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Tristan Gingold wrote:> Currently PCI slot functions are not virtualized. When I hide 0000:06:01.1 it > appears as 0000:00:00.1 and there is no function 0 for the slot. This is an > issue because on linux/ia64, functions > 0 are not probed if there is no > function 0. > > How is it handled on x86 ? > > Should I add an option to virtualize slot functions ?IIUC, when you hide 0000:06:01.1 from dom0 you want that device to appear as 0000:06:01.1 to domU. Have you looked at the PCI Backend Mode options in the xenolinux configuration? Specifically, look at the difference between XEN_PCIDEV_BACKEND_VPCI and XEN_PCIDEV_BACKEND_PASS to see if either gives what you want. I''ve only tried this on x86, but it sounds like what you want, but perhaps there''s a bug in the ia64 implementation (I haven''t looked at it yet). -Chris _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Le Mercredi 02 Août 2006 15:17, Chris a écrit :> Tristan Gingold wrote: > > Currently PCI slot functions are not virtualized. When I hide > > 0000:06:01.1 it appears as 0000:00:00.1 and there is no function 0 for > > the slot. This is an issue because on linux/ia64, functions > 0 are not > > probed if there is no function 0. > > > > How is it handled on x86 ? > > > > Should I add an option to virtualize slot functions ? > > IIUC, when you hide 0000:06:01.1 from dom0 you want that device to > appear as 0000:06:01.1 to domU. Have you looked at the PCI Backend Mode > options in the xenolinux configuration? Specifically, look at the > difference between XEN_PCIDEV_BACKEND_VPCI and XEN_PCIDEV_BACKEND_PASS > to see if either gives what you want.Yes both works on ia64.> I''ve only tried this on x86, but > it sounds like what you want, but perhaps there''s a bug in the ia64 > implementation (I haven''t looked at it yet).As far as I understand pci backend and frontend work correctly but the pci cards probing seems to be different to x86. Thank you for your comment, Tristan. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Alex Williamson
2006-Aug-02 14:15 UTC
[Xen-devel] Re: [Xen-ia64-devel] PCI backend and slot functions
On Wed, 2006-08-02 at 15:12 +0200, Tristan Gingold wrote:> Hi, > > Currently PCI slot functions are not virtualized. When I hide 0000:06:01.1 it > appears as 0000:00:00.1 and there is no function 0 for the slot. This is an > issue because on linux/ia64, functions > 0 are not probed if there is no > function 0. > > How is it handled on x86 ? > > Should I add an option to virtualize slot functions ?Yes, I think so. The ia64 PCI discovery appears to more closely follow the PCI spec. Both multi-function and single-function PCI devices must have configuration space at function 0. I would guess x86 may probe all functions to deal with old, buggy hardware. Alex -- Alex Williamson HP Open Source & Linux Org. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Tristan Gingold
2006-Aug-02 14:30 UTC
[Xen-devel] Re: [Xen-ia64-devel] PCI backend and slot functions
Le Mercredi 02 Août 2006 16:15, Alex Williamson a écrit :> On Wed, 2006-08-02 at 15:12 +0200, Tristan Gingold wrote: > > Hi, > > > > Currently PCI slot functions are not virtualized. When I hide > > 0000:06:01.1 it appears as 0000:00:00.1 and there is no function 0 for > > the slot. This is an issue because on linux/ia64, functions > 0 are not > > probed if there is no function 0. > > > > How is it handled on x86 ? > > > > Should I add an option to virtualize slot functions ? > > Yes, I think so. The ia64 PCI discovery appears to more closely > follow the PCI spec. Both multi-function and single-function PCI > devices must have configuration space at function 0. I would guess x86 > may probe all functions to deal with old, buggy hardware.Ok. Could we virtualize functions as slots (ie two functions appear as two slots)? Doing something more clever seems not that easy! Tristan. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Alex Williamson
2006-Aug-02 14:43 UTC
[Xen-devel] Re: [Xen-ia64-devel] PCI backend and slot functions
On Wed, 2006-08-02 at 16:30 +0200, Tristan Gingold wrote:> Le Mercredi 02 Août 2006 16:15, Alex Williamson a écrit : > > Yes, I think so. The ia64 PCI discovery appears to more closely > > follow the PCI spec. Both multi-function and single-function PCI > > devices must have configuration space at function 0. I would guess x86 > > may probe all functions to deal with old, buggy hardware. > Ok. > > Could we virtualize functions as slots (ie two functions appear as two slots)? > Doing something more clever seems not that easy!Seems like a good start to me. I can''t guarantee some drivers won''t get confused by this, but its probably a good mechanism to verify that each function could be exported to a domain and still remain functional. Thanks, Alex -- Alex Williamson HP Open Source & Linux Org. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel