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