Applied a modified version of holger's regparm patches.
[people/adir/gpxe.git] / src / core / getkey.c
index 0c9dac9..71ec6cc 100644 (file)
@@ -18,6 +18,7 @@
 
 #include <console.h>
 #include <latch.h>
+#include <gpxe/process.h>
 #include <gpxe/keys.h>
 
 /** @file
@@ -38,6 +39,7 @@ static int getchar_timeout ( unsigned long timeout ) {
        unsigned long expiry = ( currticks() + timeout );
 
        while ( currticks() < expiry ) {
+               step();
                if ( iskey() )
                        return getchar();
        }
@@ -69,7 +71,7 @@ int getkey ( void ) {
                        continue;
                if ( ! key )
                        key = KEY_ANSI ( character );
-               if ( ( character >= 0x40 ) && ( character <= 0x4f ) )
+               if ( character >= 0x40 )
                        break;
        }