Hi Stefan,
On Tue, Sep 29, 2009 at 04:47:04PM +0200, Stefan Reinauer wrote:
Kevin O'Connor wrote:
The latest SeaBIOS git has preliminary support for USB keyboards. I've tested this on qemu and on my epia-cn.
Would it not make sense to pack USB keyboard functionality into our GSoC project instead, and use one common USB stack for all our projects? Especially since this renders usbrom completely unusable; no two USB stacks can operate the hw reliably at the same time.
I'm a bit surprised by such action.
I'm sorry you were surprised. I sent a note last month that I was going to look at this. I am truly sorry for the surprise and for any disappointment.
SeaBIOS needs USB support in order to be usable on many platforms. I want SeaBIOS to be a "turn key" solution - that is, I want a vendor to be able to boot up coreboot+seabios and say, "hey, this 'just works'".
I would prefer to pull in an external solution than implement a new one. Unfortunately, there isn't an external solution that works today.
I looked closely at the libpayload code; I felt it would not work well in the constrained environment that SeaBIOS runs in. I believe libpayload could be extended to support that constrained environment, but I worry that would be an unnecessary burden on the other users of libpayload (which aren't so constrained).
The support in SeaBIOS is currently 1029 lines of code - it is a direct, no nonsense, just make it work implementation.
Are you planning to add USB MSC support as well? Should we stop the OHCI efforts too and wait for your approach on that?
If someone steps forward with a solution that "just works", then I will happily defer to that person. Otherwise, I will continue to add new features as I get time.
The next thing I am planning to look at is basic ohci keyboard support, and then fleshing out the current keyboard support (eg, auto-repeat, keyboard leds).
-Kevin