This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-devel] USB virt 2.6 status

Summary (since last status):

The basic feature set of the 2.6 code is finished and I'm starting to
sync up with the latest Xen tree before preparing a patch to submit.


Implemented URB unlink by sending an unlink request from the FE to the

Ported the code for handling interrupt and isochronous URBs.  The
interrupt URB code is tested against a USB keyboard which is low speed
and happens to have multiple interfaces.  This meant I also did some
work to get the speed detection in the FE correct and to support
multiple interface devices by claiming all interfaces when the first was

The isochronous URB code is currently untested because neither of my
webcams seem to work with 2.6.11 even without Xen.

Fixed a long-standing FIXME to get multiplicity working---the code
should now support multiple BEs per FE and multiple FEs per BE and
multiple devices from each etc.  This is currently untested.

The 2.6 code has a subcomponent responsible for mapping memory.  For a
while it only supported one mapping at a time.  I improved it to support
multiple concurrent mappings for higher URB throughput.

My USB keyboard hangs URBs on one of its endpoints (it does this without
Xen involved) this exposed a problem in module unload.  I put in a
change to flush out hung URBs to allow the module to unload.

I did a bit of work on the debug tracing code.

Put in a change to disconnect the devices from the FE when the BE module
was unloaded.

Still to do: (*** means high priority).

BE uses allocate_empty_lowmem_region but there doesn't seem to be an
equivalent free function for module unload.  Need to fix this memory

Grant table support.

Review linux driver model reference counting.

Review error return codes---map between linux codes and usbif interface codes.

***Sync up with latest xend rewrite and latest unstable (my snapshot is a few 
months old now).

***Implement support in vm-tools.

***Update copyright notices.

***Create and submit patch.

Testing of different USB device types (esp blade centre CD drive).

2.6/2.4 interoperability.

Test when compiled into kernel rather than modular.

Testing of multiple back-ends/multiple front ends/multiple devices etc.

Testing on SMP guests?

One based port numbering --- my config code is zero based, USB ports are 
normally one based.

Bandwidth quotas.

Fix the ugly transfer flags.

Fix the usbif interface generally to make it independent of linux.

Slandering of broken devices?

Test with USB 2.0 hardware.

Performance optimisation.

Remove timed wait for discovery from FE or make it do something useful.

Security/isolation review.

Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>