From: Michael Brown Date: Thu, 10 Mar 2011 22:50:05 +0000 (+0000) Subject: [bios] Use INT 16,11 instead of INT 16,01 to check for keystrokes X-Git-Tag: v1.20.1~2250 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9a5b4aed69a31a49937dbbaaa9bab80725ce1d9c;p=thirdparty%2Fipxe.git [bios] Use INT 16,11 instead of INT 16,01 to check for keystrokes INT 16,01 will discard some extended keystrokes on some BIOSes, making it impossible for iPXE to detect keypresses such as F12. Fix by using INT 16,11 instead. Signed-off-by: Michael Brown --- diff --git a/src/arch/i386/firmware/pcbios/bios_console.c b/src/arch/i386/firmware/pcbios/bios_console.c index 0720cd76d..55ab21bbb 100644 --- a/src/arch/i386/firmware/pcbios/bios_console.c +++ b/src/arch/i386/firmware/pcbios/bios_console.c @@ -286,7 +286,7 @@ static int bios_iskey ( void ) { "popw %w0\n\t" "cli\n\t" ) : "=r" ( flags ), "=a" ( discard_a ) - : "a" ( 0x0100 ) ); + : "a" ( 0x1100 ) ); return ( ! ( flags & ZF ) ); }