[coreboot] SeaBIOS and USB UHCI keyboard support

Kevin O'Connor kevin at koconnor.net
Wed Sep 30 02:53:36 CEST 2009

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

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

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).


More information about the coreboot mailing list