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. Details: Implemented URB unlink by sending an unlink request from the FE to the BE. 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 probed. 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 leak. 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 Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel