[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
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).
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.
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.
Remove timed wait for discovery from FE or make it do something useful.
Xen-devel mailing list