[Spice-devel] RFC: usb redirection plan

Gerd Hoffmann kraxel at redhat.com
Mon Nov 29 09:26:25 PST 2010


   Hi,

> Step 4:
> Look into getting usb-2.0 support into qemu

Have you looked at xHCI + usb 3.0?

I think it would be a good idea to do that to make sure the redirection 
protocol can handle usb3 just fine.  In a few years usb3 will be 
everythere, and when designing something now we should make sure it 
works nicely with usb3.

I had a brief look at the xHCI specs.  It looks pretty nice from a 
emulation point of view.  It is fully event driven design. It does more 
in hardware than UHCI+EHCI (it has to to reach the speeds without 
keeping the cpu 100% busy ;)  IIRC the guest can just hand a ring buffer 
to the xHCI for iso xfers, no need to fiddle with usb packets manually. 
  This is nice as it probably allows a quite efficient emulation.  I 
think it is good for usb redirection too.  Also xHCI handles all usb 
devices, so the UHCI/EHCI split for USB 1.1/2.0 devices which is quite 
nasty to emulate isn't there.

Jumping from USB 1.1 straight to USB 3.0 looks quite attractive from a 
emulation point of view, only problem with that is guest support, we 
can't (yet) expect guests to handle usb3 out-of-the-box.  Also the qemu 
usb subsystem needs some work to handle usb3 nicely.

cheers,
   Gerd



More information about the Spice-devel mailing list