]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[bios] Use INT 16,11 instead of INT 16,01 to check for keystrokes
authorMichael Brown <mcb30@ipxe.org>
Thu, 10 Mar 2011 22:50:05 +0000 (22:50 +0000)
committerMichael Brown <mcb30@ipxe.org>
Thu, 10 Mar 2011 22:50:05 +0000 (22:50 +0000)
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 <mcb30@ipxe.org>
src/arch/i386/firmware/pcbios/bios_console.c

index 0720cd76de09604a9543e9603f5a47126a6ad185..55ab21bbb818d9022fdc523f7f7c49ce750a7713 100644 (file)
@@ -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 ) );
 }