Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/i386/stand/lib Fix bootxx_* and boot on machines wh...
details: https://anonhg.NetBSD.org/src/rev/fb6ca583b66b
branches: trunk
changeset: 797483:fb6ca583b66b
user: erh <erh%NetBSD.org@localhost>
date: Sat Jul 19 14:50:21 2014 +0000
description:
Fix bootxx_* and boot on machines where the bios sets high bits of %eax on success.
diffstat:
sys/arch/i386/stand/lib/bios_disk.S | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diffs (19 lines):
diff -r 785f144a793c -r fb6ca583b66b sys/arch/i386/stand/lib/bios_disk.S
--- a/sys/arch/i386/stand/lib/bios_disk.S Sat Jul 19 14:35:10 2014 +0000
+++ b/sys/arch/i386/stand/lib/bios_disk.S Sat Jul 19 14:50:21 2014 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: bios_disk.S,v 1.21 2011/06/16 13:27:59 joerg Exp $ */
+/* $NetBSD: bios_disk.S,v 1.22 2014/07/19 14:50:21 erh Exp $ */
/*
* Ported to boot 386BSD by Julian Elischer (julian%tfs.com@localhost) Sept 1992
@@ -133,6 +133,9 @@
calll _C_LABEL(real_to_prot) # back to protected mode
.code32
+ andl $0x0000FFFF, %eax # Some bioses set high bits in %eax
+ # on success, interfering with our
+ # return value. Clear those out.
movl %eax, 28(%esp)
popa
Home |
Main Index |
Thread Index |
Old Index