[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Usb passthrough with upstream qemu question
Il 28/10/2013 17:19, Fabio Fantoni ha scritto: Il 07/10/2013 12:41, George Dunlap ha scritto:On Fri, Oct 4, 2013 at 3:59 PM, Fabio Fantoni <fabio.fantoni@xxxxxxx> wrote:Il 04/10/2013 16:25, George Dunlap ha scritto:On 04/10/13 15:00, Fabio Fantoni wrote:Il 04/10/2013 15:30, George Dunlap ha scritto: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ärkkäinen 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 areYes, I think it would be better. The main difficulty is that theworking.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 triedthe new parameters, for example:device_model_args=["-device","usb-host,vendorid=0x058f,productid=0x6387"] With new parameters usb passthrough is working, also with new usbcontroller 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 usbpassthrough on libxl with the new ones.libxl parameter is basically the old-style usbdevice parameter passed straight through. To support the current libxl parameterwith the new qemu would mean interpreting the usbdevice parameterand 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 notmake it into 4.4 unless someone else can pick it up (or unless weslip 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=xen-devel&m=136638728928743I can't remember if I went through and made any changes as a result ofcomments or not; My latest local version can be found here: git://xenbits.xen.org/people/gdunlap/xen.git out/hvm-usb-hotplug.v6-plus -GeorgeThanks for reply, I see your patches but I didn't found changes on "xlcreate" 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 redirectionenabled 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 youwere 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). -GeorgeIf I'm not wrong on what you mean, usb controller definition should be right with my patch "usbversion" while actual usbpassthrough part should bereplaced/remade in order to have devices passed by usbdevice andusbdevice_list added after qemu launch with hotplug function you had alreadydid with your patches. Did you mean something else?I thought the "usbpassthrough" stuff had to do with spice.In any case, what you describe it sounds pretty close, with one caveat: Because usbdevice and usbdevice_list are basically just passing through strings that qemu understands on its command line, I don't think we can re-use them: I think we'd have to introduce another config option that would have a new interface which matches the new libxl interface better. We'd have to keep the old ones around for backwards compatibility, but we candeprecate them. -GeorgeSo to be sure, you mean to keep the old parameters usbdevice andusbdevice_list with only usb1 (making them deprecated), and introduce a new parameter storing the devices usbpassthrough list (from dom0) which will use the new usb1-2-3 controller (with usbversion) and your usbhotplug functions?Is it right?Yes, except that I think ideally you'd design the new interface not only for pass-through devices, but for emulated devices as well -- tablets, mice, keyboard, &c. The patches I posted should be expandable to include things like that. -GeorgeI redid and posted some times ago usbversion and usbredirection patches: http://lists.xen.org/archives/html/xen-devel/2013-10/msg00580.html http://lists.xen.org/archives/html/xen-devel/2013-10/msg00973.htmlToday I refreshed your patches of usb hot-plug, also fixed one bug and tested it. Seems full working (usb-attach, usb-list, usb-detach) and also with usbredirection enabled no problem found.Here the latest version of all usb patches: https://github.com/Fantu/Xen/commits/hvm-improve.t6 About adding the missing cases (vendor and model id and other emulated usb devices) in new usb hot-plug functionalities what can it be the best choice? About emulated usb devices, according to qemu docs, they should be: ccid, keyboard, mouse, tablet, wacom-tablet. Can it be good to add one enumeration on libxl_device_usb_type for each emulated device and have for example on xl command "xl [-vfN] usb-attach <Domain> tablet". Or would it be better to have just one enameration for all emulated devices and on xl command for example "xl [-vfN] usb-attach <Domain> emudev:tablet"? About adding vendor and model id for usb passghtrough, should we maintain the syntax hostdev:<hostbus.hostaddr>|<vendorid.modelid> and tell them apart by the number of characters (4 for vendor and model) or should we use another method? Can someone also review the latest version of my usbversion and usbredirection patches already posted some time ago without replies (links above)? Thanks for any reply. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |