I just finished committing the EHCI support, and I thought it would be good to review what's remaining wrt USB. These are the things I'll be looking into as I get time.
* refactoring the hub code. The hub and root hub code is nearly identical.
* better disk timing and error support. I occasionally see USB disk boot failures that appear to be due to minor timing differences. SeaBIOS should be more resilient to these types of failures. Also, SeaBIOS should be able to reset the drive and retry on a failure.
* keyboard LED support. Pressing capslock/numlock/etc. should cause the corresponding led to turn on.
* disk lun support. Some devices are multi-lun - in particular, one of my multi-card reader devices shows up this way.
* disk writing support. It's probably not very useful, but it's also not hard to implement.
* usb mouse support. Also not very useful, but also not hard to implement.
There is no OHCI support for bulk devices, and I don't plan to add it. I don't see a way to cleanly support bulk transfers from 16bit mode with OHCI. Since most people will have EHCI, I don't think it's worth adding support. Also, for the same reason, I don't plan to add keyboard led control for ohci either.
-Kevin