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

Re: [Xen-devel] [Patch V4 1/3] usb: Add Xen pvUSB protocol description



On Fri, Jul 24, 2015 at 11:57:47AM -0700, Greg KH wrote:
> On Fri, Jul 24, 2015 at 05:51:04AM +0200, Juergen Gross wrote:
> > On 07/23/2015 09:08 PM, Greg KH wrote:
> > >On Thu, Jul 23, 2015 at 08:46:17AM +0200, Juergen Gross wrote:
> > >>On 07/23/2015 06:36 AM, Greg KH wrote:
> > >>>On Thu, Jul 23, 2015 at 06:04:39AM +0200, Juergen Gross wrote:
> > >>>>On 07/23/2015 01:46 AM, Greg KH wrote:
> > >>>>>On Tue, Jun 23, 2015 at 08:53:23AM +0200, Juergen Gross wrote:
> > >>>>>>Add the definition of pvUSB protocol used between the pvUSB frontend 
> > >>>>>>in
> > >>>>>>a Xen domU and the pvUSB backend in a Xen driver domain (usually 
> > >>>>>>Dom0).
> > >>>>>>
> > >>>>>>This header was originally provided by Fujitsu for Xen based on Linux
> > >>>>>>2.6.18.
> > >>>>>>
> > >>>>>>Changes are:
> > >>>>>>- adapt to Linux style guide
> > >>>>>>
> > >>>>>>Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
> > >>>>>>---
> > >>>>>>  include/xen/interface/io/usbif.h | 252 
> > >>>>>> +++++++++++++++++++++++++++++++++++++++
> > >>>>>
> > >>>>>Why is this a different interface than the existing ones we have today
> > >>>>>(i.e. usbip?)  Where is it documented?  Do the Xen developers /
> > >>>>
> > >>>>The interface definition is living in the Xen git repository for several
> > >>>>years now:
> > >>>>
> > >>>>git://xenbits.xen.org/xen.git -> xen/include/public/io/usbif.h
> > >>>
> > >>>That's header file, not a document describing the api here.
> > >>
> > >>I suppose you want to tell me I should add something like:
> > >>
> > >>Documentation/DocBook/usb/API-struct-urb.html
> > >
> > >Somewhere that people can refer to that describes this public-facing API
> > >that "must not ever be broken or changed".  If you want to put it in a
> > >documentation file, or a .h file, I don't care.
> > >
> > >>>>It is used e.g. in SUSE's xen kernel since 2.6.18.
> > >>>
> > >>>I am very aware of the amount of Xen crap in SuSE's kernel, don't use
> > >>>that as an excuse for me to merge it to mainline :)
> > >>
> > >>:-)
> > >>
> > >>Wasn't meant as an excuse, just a hint why the interface can't be the
> > >>same as for usbip. We have to ensure compatibility with those kernels
> > >
> > >This shouldn't be a kernel/kernel compability issue, as the api talks
> > >between Xen and the OS, not between different OSs, right?
> > 
> > Depends on where the backend is living. It's the backend the frontend is
> > talking to.
> > 
> > There is a backend in SUSE's kernels up to SLE12. So compatibility is
> > to be maintained to those kernels.
> 
> Note, just because a distro merged an out of tree patch, does not mean
> that mainline has to accept the same api as-is :)
> 
> > Looks as if in future there will be one in qemu.
> 
> So there's only one other backend talking to this, in one distro?

No. All distros which use QEMU will have it.

> 
> > >>and possibly other operating systems (BSD?, Windows?) which already
> > >>might be using pvUSB with a Dom0 based on the SUSE xen kernel.
> > >
> > >Are there other operating system drivers today that use this API?  Is
> > >this an API in the Xen core today that we have to support?
> > 
> > Yes.
> 
> Yes to both?  Which other operating systems have such a driver?

Windows XP, Windows 7, Windows 8, and so on using one of the Xen
PV drivers.

The old RHEL5 PV kernels, SLES kernels, and NetBSD [edit: Only
the header file, odd]


>
> > >Some more background / descriptions would be nice to have.
> > 
> > I guess a documentation file giving a brief explanation about the
> > interfaces of Xen wouldn't be a bad idea. This could avoid discussions
> > like this.
> 
> Yes it would.
> 
> > It shouldn't define each interface, but the classes of interfaces which
> > are existing (between kernel and hypervisor, frontends and backends)
> > and the stability requirements. Headers like the one we are discussing
> > here could then refer to this document.
> 
> Why shouldn't the protocol be documented?

I presume you mean the wire spec? Like what is in the memory and
exchanged between the guests? Classes sounds like an C++ thing :-)

There is also the XenBus which does the negotiation of parameters
(like the VirtioPCI spec) - that could be expanded to enumerate
the USB drivers ones ?

> 
> thanks,
> 
> greg k-h

_______________________________________________
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®.