Module Name: src Committed By: erh Date: Sat Jul 19 14:50:21 UTC 2014
Modified Files: src/sys/arch/i386/stand/lib: bios_disk.S Log Message: Fix bootxx_* and boot on machines where the bios sets high bits of %eax on success. To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 src/sys/arch/i386/stand/lib/bios_disk.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/i386/stand/lib/bios_disk.S diff -u src/sys/arch/i386/stand/lib/bios_disk.S:1.21 src/sys/arch/i386/stand/lib/bios_disk.S:1.22 --- src/sys/arch/i386/stand/lib/bios_disk.S:1.21 Thu Jun 16 13:27:59 2011 +++ src/sys/arch/i386/stand/lib/bios_disk.S Sat Jul 19 14:50:21 2014 @@ -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 (jul...@tfs.com) Sept 1992 @@ -133,6 +133,9 @@ ENTRY(biosdisk_read) 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