On Wed, Sep 30, 2009 at 09:18:21PM +0200, Peter Stuge wrote:
Kevin O'Connor wrote:
The support in SeaBIOS is currently 1029 lines of code - it is a direct, no nonsense, just make it work implementation.
I think that is wonderful! Good job!
Thanks!
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).
The USB option ROM is still a tricky point. How to make it co-exist with USB support in SeaBIOS?
As Stefan pointed out, there can be only one driver of a usb controller. Anything else would be too fragile.
If the option ROM works out well, maybe it could instead offer the keyboard services?
Yes - an option ROM can support keyboard. However, a real 16bit option ROM implementation is going to impose the same constraints on libpayload as SeaBIOS. Alternatively, the option rom could give up support for vm86 mode callers and reserve lots of high ram to avoid those constraints. It still wouldn't be simple - the rom would need to implement the bios calls for disk and kbd (seabios src/disk.c src/kbd.c src/bregs.h src/entryfuncs.S = 1792 lines of code) and may need to implement self uncompression (to reduce its rom code size). I'd say it's doable, but not easy.
-Kevin