Browse Source

[bios] Fix screen clearing on buggy BIOSes

The implementation of INT 10,06 on some BIOSes (observed with both
Hyper-V and a Dell OptiPlex 7010) seems to treat %dx=0xffff as a
special value meaning "do absolutely nothing".  Fix by using
%dx=0xfefe, which should still be sufficient to cover any realistic
screen size.

Reported-by: John Clark <skyman@iastate.edu>
Tested-by: John Clark <skyman@iastate.edu>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
tags/v1.20.1
Michael Brown 11 years ago
parent
commit
9909e7b10a
1 changed files with 1 additions and 1 deletions
  1. 1
    1
      src/arch/i386/firmware/pcbios/bios_console.c

+ 1
- 1
src/arch/i386/firmware/pcbios/bios_console.c View File

@@ -97,7 +97,7 @@ static void bios_handle_ed ( unsigned int count __unused,
97 97
 					   "int $0x10\n\t"
98 98
 					   "cli\n\t" )
99 99
 			       : : "a" ( 0x0600 ), "b" ( bios_attr << 8 ),
100
-			           "c" ( 0 ), "d" ( 0xffff ) );
100
+			           "c" ( 0 ), "d" ( 0xfefe ) );
101 101
 }
102 102
 
103 103
 /**

Loading…
Cancel
Save