On Sat, May 07, 2011 at 01:22:50PM -0700, Stefan Reinauer wrote:
On 5/7/11 12:05 PM, Kevin O'Connor wrote:
On Sat, May 07, 2011 at 08:48:45PM +0200, Sven Schnelle wrote:
Kevin O'Connorkevin@koconnor.net writes:
Do you know how long it takes for your keyboard to become responsive? (You can pass "-n" to tools/readserial.py to have it report wall times instead of adjusted times.)
It takes something about 0.8s, according to serial output.
Maybe we can add some "shoot and run" ps2 initialization code to coreboot that runs before most other code, giving the keyboard or kbc time to initialize while we do all the other stuff.
There's a good chance it just needs more time from power up - starting the init sooner may have no impact.
I don't think ps2 keyboard init should be in coreboot - it is (in the general case) an optional external device that is auto-discoverable. There's nothing really special about a ps2 keyboard that requires it to be handled in the lowest layer of the firmware.
Have we considered threading in coreboot? It seems the time we spend in ramstage is unsignificant and the effort of multitasking in romstage is not worth the trouble.
Are you referring to something like the cooperative multitasking system in SeaBIOS? If so, do you have ideas on which device initialization could be done in parallel? (SeaBIOS can parallelize initialization of each disk controller, the ps2 controller, each USB controller, and each USB device.)
-Kevin