소스 검색

[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 <mcb30@ipxe.org>
tags/v1.20.1
Michael Brown 14 년 전
부모
커밋
9a5b4aed69
1개의 변경된 파일1개의 추가작업 그리고 1개의 파일을 삭제
  1. 1
    1
      src/arch/i386/firmware/pcbios/bios_console.c

+ 1
- 1
src/arch/i386/firmware/pcbios/bios_console.c 파일 보기

@@ -286,7 +286,7 @@ static int bios_iskey ( void ) {
286 286
 					   "popw %w0\n\t"
287 287
 					   "cli\n\t" )
288 288
 			       : "=r" ( flags ), "=a" ( discard_a )
289
-			       : "a" ( 0x0100 ) );
289
+			       : "a" ( 0x1100 ) );
290 290
 	return ( ! ( flags & ZF ) );
291 291
 }
292 292
 

Loading…
취소
저장