From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: Re: Usb passthrough with upstream qemu question Date: Fri, 4 Oct 2013 14:30:44 +0100 Message-ID: <524EC304.5090407@eu.citrix.com> References: <52405459.80009@m2r.biz> <52416276.4030100@eu.citrix.com> <20130925141100.GI2924@reaktio.net> <524E9181.6000701@eu.citrix.com> <524EBF91.4030406@m2r.biz> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1"; Format="flowed" Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: <524EBF91.4030406@m2r.biz> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Fabio Fantoni Cc: Anthony PERARD , xen-devel , Ian Jackson , Ian Campbell List-Id: xen-devel@lists.xenproject.org On 04/10/13 14:16, Fabio Fantoni wrote: > Il 04/10/2013 11:59, George Dunlap ha scritto: >> On 25/09/13 15:11, Pasi K=E4rkk=E4inen wrote: >>> On Tue, Sep 24, 2013 at 10:59:18AM +0100, George Dunlap wrote: >>>> On 09/23/2013 03:46 PM, Fabio Fantoni wrote: >>>>> I tested my latest patches about usb controllers (1-2-3) and usb >>>>> redirection (from Spice client) support for upstream qemu and are = >>>>> working. >>>>> I also tested usb passthrough (from dom0) but seems that with older >>>>> -usbdevice paraters is not working. >>>>> I see the qemu docs/qdev-device-use.txt and based on this I tried the >>>>> new parameters, for example: >>>>> device_model_args=3D["-device","usb-host,vendorid=3D0x058f,productid= =3D0x6387"] = >>>>> >>>>> With new parameters usb passthrough is working, also with new usb >>>>> controller and also with usb redirection enabled. >>>>> I did all tests using latest xen and qemu version (1.6). >>>>> I think should be good to change upstream qemu parameters for usb >>>>> passthrough on libxl with the new ones. >>>> Yes, I think it would be better. The main difficulty is that the >>>> libxl parameter is basically the old-style usbdevice parameter >>>> passed straight through. To support the current libxl parameter >>>> with the new qemu would mean interpreting the usbdevice parameter >>>> and translating it into the new-style parameter. >>>> >>>> My USB hot-plug series begins to introduce a more reasonable >>>> interface for USB devices. Once that's in, we can think about >>>> introducing a similar new interface for creating domains, that >>>> should match the new way of specifying devices better. Then we >>>> could just say, "If you're using spice, you have to use the new >>>> interface." >>>> >>>> Unfortunately, it's looking like the USB hot-plug series may not >>>> make it into 4.4 unless someone else can pick it up (or unless we >>>> slip the feature freeze). >>>> >>> Hi, >>> >>> Is the latest version of the usb hotplug series posted to xen-devel, >>> or are these not-yet-posted changes in your (private) tree? >>> >>> Just wondering if someone else wants to take a look at that. >> >> The latest patches I posted were version 6; the 1/2 can be found here: >> >> http://marc.info/?l=3Dxen-devel&m=3D136638728928743 >> >> I can't remember if I went through and made any changes as a result = >> of comments or not; My latest local version can be found here: >> >> git://xenbits.xen.org/people/gdunlap/xen.git out/hvm-usb-hotplug.v6-plus >> >> -George > > Thanks for reply, I see your patches but I didn't found changes on "xl = > create" parts. > Please could you keep an eye on my yesterday's mail about "xl create" = > part changes? > http://lists.xen.org/archives/html/xen-devel/2013-10/msg00157.html > For now I'm trying to do patch for basic spice support to pv. > After that I'll try to do a patch for changes usb qemu parameters to = > make usb passthrough full working also with usb2,usb3 and usb = > redirection enabled ifno one else can do. So at the moment, USB devices specified in the config file are added to = the guest on the qemu command line. However, most devices aren't like = that: if you specify a PCI pass-through device, it will create the = guest, and then the domain creation will call the pci add functions, = just as it would if you were hot-plugging the device afterwards. So the idea would be that once the new USB hotplug interface was fully = functional, then you'd do the same thing: just specify the USB = controller on the qemu command line, and add in the other USB devices = afterwards (i.e., after qemu had come up but before actually unpausing = the guest). -George