summaryrefslogtreecommitdiffstats
path: root/src/arch
diff options
context:
space:
mode:
authorMichael Brown2013-04-17 20:36:03 +0200
committerMichael Brown2013-04-17 20:36:03 +0200
commit9909e7b10ab9c2e1fd9b81eaac59fbaec76b9613 (patch)
tree3923a50763da9eb8613c6d610db1534f48aeb711 /src/arch
parent[settings] Expose build architecture and platform via settings (diff)
downloadipxe-9909e7b10ab9c2e1fd9b81eaac59fbaec76b9613.tar.gz
ipxe-9909e7b10ab9c2e1fd9b81eaac59fbaec76b9613.tar.xz
ipxe-9909e7b10ab9c2e1fd9b81eaac59fbaec76b9613.zip
[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>
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/i386/firmware/pcbios/bios_console.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/arch/i386/firmware/pcbios/bios_console.c b/src/arch/i386/firmware/pcbios/bios_console.c
index 25c8dad2d..213ebd92c 100644
--- a/src/arch/i386/firmware/pcbios/bios_console.c
+++ b/src/arch/i386/firmware/pcbios/bios_console.c
@@ -97,7 +97,7 @@ static void bios_handle_ed ( unsigned int count __unused,
"int $0x10\n\t"
"cli\n\t" )
: : "a" ( 0x0600 ), "b" ( bios_attr << 8 ),
- "c" ( 0 ), "d" ( 0xffff ) );
+ "c" ( 0 ), "d" ( 0xfefe ) );
}
/**