[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Re: [linux-usb-devel] Re: Error recovery in Xen's paravirtualizing USB driver for Linux
On Wed, 2005-12-07 at 15:00 -0800, Pete Zaitcev wrote: > On Wed, 07 Dec 2005 18:31:17 +0000, harry > <harry@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote: > > > This 'USB split driver' has a 'front-end' in the Linux kernel > > running in a guest domain of the hypervisor and a 'back-end' in the > > Linux kernel running in a device driver domain (usually the special > > privilidged domain 0). > > Why don't you just let guest 0 to own the controller? This is what > the guest 0 is for, as far as I know. Guest 0 normally owns the controller. Xen also has a concept of driver domains where you give a PCI device to a privileged guest other than 0 and run the driver in that guest. This is useful for driver development amongst other things. > > If you create special stub drivers in the hypervisor, you might as > well create virtual USB controllers for nonzero guests. The stub drivers are not in the hypervisor but are for the Linux kernels run in the hypervisor virtual machines (domains). Yes, the front-end driver in the non-zero guest creates a virtual USB controller. > > > o - The back-end uses usb_register to register itself as a driver > > matching all USB IDs so it gets probed for every USB device that is > > connected. When a USB device is probed for a configured port, the > > driver claims all the interfaces for the device. > > Ewww! Ewww! What should I be doing? > > You are just going to hit all the difficulties the vmware guy hit, What were they? > perhaps minus the size limitation in usbfs since you are bypassing it. > > I would expect that the scheme you're proposing were employed to > let non-zero guests to drive some virtualized devices, but not for > the guest zero. Yes, it's for letting non-zero guest domains run USB drivers for devices attached to ports on USB controllers which are driven by domain 0. So, for example you can have one physical USB port, plug in a four port USB HUB and then map one port on the HUB to each of four guest domains. Any device plugged into the port mapped to a given guest domain will appear attached to a port on the virtual USB controller in the guest domain. USB devices in domain zero are just driven by the normal USB driver code. My split driver is not involved. Sorry for not being clear. Harry. -- Harry Butterworth <harry@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx> _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |