diff options
author | Michael Shalayeff <mickey@cvs.openbsd.org> | 1998-09-25 06:48:53 +0000 |
---|---|---|
committer | Michael Shalayeff <mickey@cvs.openbsd.org> | 1998-09-25 06:48:53 +0000 |
commit | 50fdf8917208f530c68b7f177d5cf0a9d3bf9a3d (patch) | |
tree | 7c9a51236049e80cc7c36c32f0884f2ee736b069 /sys/arch | |
parent | 87a4ffd4d092e26fb849cea83c4a5aa85a2724ad (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.S | 10 |
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 |