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

[Xen-devel] USB virt 2.6 status



Summary:

Progress accelerating.

Current state of play is that the 2.6 USB back-end driver domain
correctly receives a usbif_be_create message during configuration of the
2.6 USB front-end domain after which configuration fails due to
unfinished xend usb driver domain support.

Detailed status:

Monday was a holiday.

Tuesday:

Prior to vacation, was testing new 2.6 front end code against old 2.4
back-end code.  Changes in USB stack between 2.4 and 2.6 meant that the
sequence of USB requests had changed and the new 2.6 front end was
issuing a get descriptor request which was failing in the back-end code.

Rather than spend time fixing the 2.4 back-end code to handle the
request explicitly I decided to start work on the 2.6 back-end and get
it to the point where I can test new 2.6 back and front-end code
together.

BK pull brings in kernel 2.6.11 containing changes in the linux USB
interface and the ring macros.

Fixes for ring macro changes are thankfully trivial.  USB interface
changes are more subtle.

Build and install up-to-date code on test machine. Exclude USB HCD PCI
device from Dom0 --- will attempt to build back-end code in a driver
domain to avoid continual reboots.

Wednesday:

Give USB HCD PCI device to xen-test domain.
Move back-end code back to 2.4 tree.
Create skeleton 2.6 back-end code.
Rebuild kernels and install in xen-test domain.
uhci_hcd loads in xen-test domain and finds disgo key.
usbback skeleton loads in xen-test domain and (successfully) does
nothing.
Port initial control interface code from 2.4
Try to configure xen-test as a usb driver domain. Docs indicate sxp
config file is required to configure driver domains. Can't find an
example. Use grep on python code to find domain creation code. USB
driver domain support seems to be missing from config options. I try to
add it and install new xen tools on test box.

Create another test domain for the front-end since I think the back-end
won't get any control protocol messages until the front-end starts up
which means I'll have to test them both at the same time.

Thursday:
Investigate whether usb driver domains are supported by xend. They are
not. Spend the day reading the xend usb code. Little bits for driver
domains missing all over the place. Object model doesn't seem to support
required multiplicity. Bug in inheritance where child class initialises
grandparent instead of parent. Much redundant code: child reimplements
methods of parent (workaround for bug?). Time to learn Python.

Friday:
Incremental rewrite of xend usb code.
Remove redundant duplication of methods of parent class of factory.
Implement backend domain configuration parameter and change usb port
config specification to key=value format as used by netif.
get about halfway through xend usb code rewrite.


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.