diff --git a/src/config.h b/src/config.h index f43da040..13d9f7e0 100644 --- a/src/config.h +++ b/src/config.h @@ -58,6 +58,8 @@ */ #define TIMER_BIOS /* 18Hz BIOS timer */ #define TIMER_RDTSC /* CPU TimeStamp Counter timer */ +#define BANNER_TIMEOUT 20 /* Tenths of a second for which the shell + banner should appear */ /* @END general.h */ diff --git a/src/hci/shell_banner.c b/src/hci/shell_banner.c index 92cd17dd..f96f2a50 100644 --- a/src/hci/shell_banner.c +++ b/src/hci/shell_banner.c @@ -18,7 +18,8 @@ #include #include -#include +#include +#include #include /** @file @@ -27,28 +28,28 @@ * */ -#define BANNER_TIMEOUT ( 2 * TICKS_PER_SEC ) - /** * Print shell banner and prompt for shell entry * * @ret enter_shell User wants to enter shell */ int shell_banner ( void ) { - unsigned long timeout = ( currticks() + BANNER_TIMEOUT ); + int wait_count = 0; int enter_shell = 0; int key; printf ( "\nPress Ctrl-B for the gPXE command line..." ); /* Wait for key */ - while ( currticks() < timeout ) { + while ( wait_count < BANNER_TIMEOUT ) { if ( iskey() ) { key = getchar(); if ( key == 0x02 /* Ctrl-B */ ) enter_shell = 1; break; } + mdelay(100); + wait_count++; } /* Clear the "Press Ctrl-B" line */