Han, Weidong
2009-Sep-08 08:10 UTC
[Xen-devel] Does it support to specify virtual function in guest for assigned device
Hi Simon, You did lots of work on multiple functions passthrough. We can specify virtual slot for assigned device like pci=[ ''01:00.0@5'' ]. Does it support to specify virtual function in guest for assigned device? For example, I want to specify virtual bdf 00:05.1 for device 01:00.1. Thanks. Regards, Weidong _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Simon Horman
2009-Sep-08 22:46 UTC
Re: [Xen-devel] Does it support to specify virtual function in guest for assigned device
On Tue, Sep 08, 2009 at 04:10:57PM +0800, Han, Weidong wrote:> Hi Simon, > > You did lots of work on multiple functions passthrough. We can specify > virtual slot for assigned device like pci=[ ''01:00.0@5'' ]. Does it > support to specify virtual function in guest for assigned device? For > example, I want to specify virtual bdf 00:05.1 for device 01:00.1.Hi Weidong, Yes, as of changeset "xend: pass-through: Extend multi-function mapping" (20012:3242351f9c67) is is possible to specify the virtual function. However, this is only possible for multi-function pass-through. When only a single function is passed through the virtual function will always be zero, because PCI devices must always have function 0 present. So the closest that you could do when passing through 01:00.1 is to get virtual function 00:05.0 by specifying ''01:00.1@5''. If you passed through another function of 01:00 at the same time as 01:00.1, say 01:00.0, then you could explicitly choose to have 01:00.1 assigned to 00:05.1 and 01:00.0 assigned to 00:05.0 using ''00:05.0=0,1=1@5''. Actually that would be the default as it is just an identity mapping, so the same result would be achieved by ''00:05.0,1@5''. A more interesting case would be to reverse the mapping so 00:05.0 -> 01:00.1 and 00:05.1 -> 00:05.0, which could be achieved using ''00:05.0=1,1=0@5''. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Han, Weidong
2009-Sep-08 22:52 UTC
RE: [Xen-devel] Does it support to specify virtual function in guest for assigned device
Simon Horman wrote:> On Tue, Sep 08, 2009 at 04:10:57PM +0800, Han, Weidong wrote: >> Hi Simon, >> >> You did lots of work on multiple functions passthrough. We can >> specify virtual slot for assigned device like pci=[ ''01:00.0@5'' ]. >> Does it support to specify virtual function in guest for assigned >> device? For example, I want to specify virtual bdf 00:05.1 for >> device 01:00.1. > > Hi Weidong, > > Yes, as of changeset "xend: pass-through: Extend multi-function > mapping" (20012:3242351f9c67) is is possible to specify the virtual > function. > > However, this is only possible for multi-function pass-through. > When only a single function is passed through the virtual function > will always be zero, because PCI devices must always have function 0 > present. > > So the closest that you could do when passing through 01:00.1 is to > get virtual function 00:05.0 by specifying ''01:00.1@5''. > > If you passed through another function of 01:00 at the same time as > 01:00.1, say 01:00.0, then you could explicitly choose to have 01:00.1 > assigned to 00:05.1 and 01:00.0 assigned to 00:05.0 using > ''00:05.0=0,1=1@5''. > > Actually that would be the default as it is just an identity mapping, > so the same result would be achieved by ''00:05.0,1@5''. A more > interesting case would be to reverse the mapping so 00:05.0 -> > 01:00.1 and 00:05.1 -> 00:05.0, which could be achieved using > ''00:05.0=1,1=0@5''.Hi Simon, Thanks for your detailed explanation. I need the option ''00:05.0=0,1=1@5''. BTW, did you add these option explanation to any document? It is helpful if you do it. Regards, Weidong _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Simon Horman
2009-Sep-08 23:17 UTC
Re: [Xen-devel] Does it support to specify virtual function in guest for assigned device
On Wed, Sep 09, 2009 at 06:52:05AM +0800, Han, Weidong wrote:> > Hi Simon, > > Thanks for your detailed explanation. I need the option ''00:05.0=0,1=1@5''. BTW, did you add these option explanation to any document? It is helpful if you do it.Hi Weidong, I have put some details about this up at: http://wiki.xensource.com/xenwiki/BDFNotation#multi-function Which is referenced from: http://wiki.xensource.com/xenwiki/VTdHowTo _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Han, Weidong
2009-Sep-09 01:37 UTC
RE: [Xen-devel] Does it support to specify virtual function in guest for assigned device
Simon Horman wrote:> On Wed, Sep 09, 2009 at 06:52:05AM +0800, Han, Weidong wrote: >> >> Hi Simon, >> >> Thanks for your detailed explanation. I need the option >> ''00:05.0=0,1=1@5''. BTW, did you add these option explanation to any >> document? It is helpful if you do it. > > Hi Weidong, > > I have put some details about this up at: > http://wiki.xensource.com/xenwiki/BDFNotation#multi-function > > Which is referenced from: > http://wiki.xensource.com/xenwiki/VTdHowToIt''s good. Thanks. Regards, Weidong _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel