summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorMichael Shalayeff <mickey@cvs.openbsd.org>1998-09-25 06:48:53 +0000
committerMichael Shalayeff <mickey@cvs.openbsd.org>1998-09-25 06:48:53 +0000
commit50fdf8917208f530c68b7f177d5cf0a9d3bf9a3d (patch)
tree7c9a51236049e80cc7c36c32f0884f2ee736b069 /sys/arch
parent87a4ffd4d092e26fb849cea83c4a5aa85a2724ad (diff)
from Martin Fredriksson <martin@gbg.netman.se>:
clean NT bit in eflags after switching back into prot mode. solves bug in 2940UW and HP recent motherboards bios combination. some more flags should be set/clean at that point. leave that for later investigation. light optimize.
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/i386/stand/libsa/gidt.S10
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/arch/i386/stand/libsa/gidt.S b/sys/arch/i386/stand/libsa/gidt.S
index c8d05a09685..7ba32aec78a 100644
--- a/sys/arch/i386/stand/libsa/gidt.S
+++ b/sys/arch/i386/stand/libsa/gidt.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: gidt.S,v 1.22 1998/09/16 03:40:32 mickey Exp $ */
+/* $OpenBSD: gidt.S,v 1.23 1998/09/25 06:48:52 mickey Exp $ */
/*
* Copyright (c) 1997 Michael Shalayeff
@@ -408,6 +408,14 @@ intno = . - 1
movl %edx, 0x9*4(%esp)
movb %bh , 0xe*4(%esp)
+ /* clear NT flag in eflags */
+ /* Martin Fredriksson <martin@gbg.netman.se> */
+ pushf
+ popl %eax
+ andl $0xffffbfff, %eax
+ pushl %eax
+ popf
+
/* save registers into save area */
movl %eax, _C_LABEL(BIOS_regs)+biosr_ax
movl %ecx, _C_LABEL(BIOS_regs)+biosr_cx