[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] USB virtualisation (experimental)
Hi all, A number of people have expressed interest in the USB virtualisation code. I'm making a patch against 2.0-testing available for those who wish to have a play with it. Description: USB virtualisation allows otherwise unprivileged domains to be given control of a USB port on the host. The unprivileged domain sees a virtual USB host controller with only the ports it has been granted access to. For instance, you might dedicate a USB webcam to one domain, a USB pendrive to another domain and a USB CD-burner to another. This patch includes the kernel modifications (backend and frontend drivers) to 2.4.28 and modifications to the userspace toolset. This is sufficient to set up USB virtualisation for 2.4.28 on xen-2.0-testing. There are still a few sticky bugs that are really annoying me at the moment but it is possible to mount USB flash drives, capture realtime video from a webcam, etc. in a domU by virtualising through dom0. Disclaimers: * Don't use it on production systems * Don't trust it with data you care about * Some USB device drivers may need tweaking - if you have problems with a device, let me know * YMMV but it works for me ;-) Installation: 1) download the patch from http://www.cambridge.intel-research.net/~mwilli2/xen-2.0-testing-usb.patch 2) apply to a fresh xen-2.0-testing.bk using patch -p1 < xen-2.0-testing-usb.patch (say yes to all the SCCS checkouts) 3) set up some appropriate kernel configs in install/boot/config-2.4.28-xen{0,U}. You should enable CONFIG_XEN_USB_FRONTEND, CONFIG_USB in the configuration for any devices you want to run. Don't (!) build drivers for devices you want to virtualise into dom0's kernel, or dom0 will grab the device before the backend gets a chance to export it. 4) build & install the updated kernel & tools on your test machine. Note again you _have_ to use the 2.4 kernels, 2.6 isn't supported (yet). 5) for frontend domains, add a usb = [ 'port_number', 'port_number', ... ] to the config file to give a domain control of those physical USB ports. You can specify ports on a hub by giving the path through the device tree e.g. '1/2' = second port on the hub plugged into the first port on the host. Any questions, comments, problems, success reports - let us know! Cheers, Mark ------------------------------------------------------- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |