diff --git a/src/kernel/boot/platform/bios_ia32/start.c b/src/kernel/boot/platform/bios_ia32/start.c index a41b7a22c1..aff768831c 100644 --- a/src/kernel/boot/platform/bios_ia32/start.c +++ b/src/kernel/boot/platform/bios_ia32/start.c @@ -8,8 +8,9 @@ #include "cpu.h" #include "mmu.h" #include "video.h" +#include "keyboard.h" -#include +#include #include #include #include @@ -29,6 +30,9 @@ extern int main(stage2_args *args); void _start(void); +uint32 sBootOptions; + + static void clear_bss(void) { @@ -47,10 +51,14 @@ call_ctors(void) } -bool -platform_user_menu_requested(void) +uint32 +platform_boot_options(void) { - return false; +#if 0 + if (!gKernelArgs.fb.enabled) + sBootOptions |= check_for_boot_keys(); +#endif + return sBootOptions; } @@ -100,6 +108,12 @@ _start(void) mmu_init(); video_init(); + spin(50000); + // wait a bit to give the user the opportunity to press a key + + // reading the keyboard doesn't seem to work in graphics mode (maybe a bochs problem) + sBootOptions = check_for_boot_keys(); + main(&args); }