From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: Re: [Patch V4 1/3] usb: Add Xen pvUSB protocol description Date: Fri, 24 Jul 2015 05:51:04 +0200 Message-ID: <55B1B628.7090200@suse.com> References: <1435042405-14235-1-git-send-email-jgross@suse.com> <1435042405-14235-2-git-send-email-jgross@suse.com> <20150722234640.GA29425@kroah.com> <55B067D7.3030904@suse.com> <20150723043653.GA31524@kroah.com> <55B08DB9.60902@suse.com> <20150723190801.GC11060@kroah.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20150723190801.GC11060@kroah.com> Sender: linux-kernel-owner@vger.kernel.org To: Greg KH Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xensource.com, konrad.wilk@oracle.com, david.vrabel@citrix.com, boris.ostrovsky@oracle.com, linux-usb@vger.kernel.org List-Id: xen-devel@lists.xenproject.org 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 >>>>>> --- >>>>>> 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. Looks as if in future there will be one in qemu. >> 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. > 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. 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. Juergen