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

Re: [Xen-devel] [PATCH v7 1/2] libxl: usb2 and usb3 controller support for upstream qemu



On 12/03/2013 04:17 PM, Ian Jackson wrote:
Fabio Fantoni writes ("[PATCH v7 1/2] libxl: usb2 and usb3 controller support for 
upstream qemu"):
Usage: usbversion=1|2|3 (default=0, no usb controller defined)
Specifies the type of an emulated USB bus in the guest. 1 for usb1,
2 for usb2 and 3 for usb3, it is available only with upstream qemu.
The old usb and usbdevice parameters cannot be used with this.

Changes from v6:
- now usbversion cannot be used with usb and usbdevice parameters
- now default is 0 (no usb controller defined)
Will be used only with usb redirection (from spice client) and
new usb passthrough (from dom0) with hotplug.
...
+=item B<usbversion=NUMBER>
+
+Specifies the type of an emulated USB bus in the guest. 1 for usb1,
+2 for usb2 and 3 for usb3, it is available only with upstream qemu.
+The old usb and usbdevice parameters cannot be used with this.
+Default is 0 (no usb controller defined).
+

I've reread the thread and I don't understand the backwards
compatibility implications here.

What is wrong with the usb and usbdevice parameters. ?

The "usb" parameter was able to turn on, and off, usb support in trad
qemu (and that was always usb1).  The previous default appears to be
0, i.e. off.  But if you said "usb=1" you would get usb1.  There
doesn't seem to be anything in your patch that makes that work with
qemu-upstream; instead you simply invent a totally new mechanism.

Why do you describe the usbdevice parameter as "old" ?

usbdevice basically accepts a string to be passed as-is to the qemu command-line after "-usbdevice". This argement is now deprecated in qemu; although supported in a backwards-compatible fashion (and thus still works with qemu-upstream), it doesn't (I infer from Fabio's description) work with usb2 and usb3. This is a qemu limitation, not a Xen limitation.

The "new" way of specifying devices (USB or otherwise) is qdev (the documentation for which is cleverly hidden in a text file the qemu source tree). qdev specification is available both from the command-line, and over qmp.

Going forward, I think the thing we want to do is take my "usb hotplug" series which didn't make it into 4.3 and have it replace the "usbdevice" interface. We should make the mechanism for adding USB devices take the same path at boot as during hot-plug -- similar to the way PCI devices take the same basic paths whether specified in the config file at boot or done after the VM is running.

I think at the moment to get a usb2/3 device, you'd have to manually craft your own qdev parameter and specify it via the "device_model_args" config parameter.

 -George

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