Dear Coreboot community,
I am developing bios for my custom Apollo Lake SoC E3950 mainboard. I got to a point where SeaBios is loaded and awaits to choose a boot option. The problem is that its getting stuck while waiting for timeout or keyboard press (see log
attached). I figured out that it is getting stuck on wait_irq() function. In particular, call stack looks like this:
interactive_bootmenu() (/coreboot/payloads/external/SeaBIOS/seabios/src/boot.c)
get_keystroke() (int scan_code = get_keystroke(menutime);)
get_keystroke_full()
yield_toirq()
wait_irq()
__stack_hop_back_wait_irq()
Why can this happen? Is hardware not initialized properly during Coreboot operation or it should be done in SeaBios?
Looks like interrupts from timer and keyboard are not working. I tried loading with FILO payload and keyboard was working Ok except keyboard leds were not working.
Best Regards,
Anatolii Vorobev