From 8baa6c0bdf86ebfd563a6493f0f6079648a65a74 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Thu, 24 Jun 2004 23:31:06 +0000 Subject: [PATCH] Bring in 1.33 from FreeBSD-5: When rebooting the machine jump to 0xf000:0xfff0 instead of 0xffff:0x0. While we end up the same place, we end up with two different CS register values after the jump and 0xf000 is compatible with the hardware reset value. This makes a difference if the BIOS does a near jump before a far jump. Detective work and patch by: Adrian Steinmann --- sys/boot/i386/btx/btx/btx.S | 4 ++-- sys/boot/i386/btx/btx/btx.s | 4 ++-- sys/boot/pc32/btx/btx/btx.S | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sys/boot/i386/btx/btx/btx.S b/sys/boot/i386/btx/btx/btx.S index ba10baab27..b122a1082f 100644 --- a/sys/boot/i386/btx/btx/btx.S +++ b/sys/boot/i386/btx/btx/btx.S @@ -14,7 +14,7 @@ # # $FreeBSD: src/sys/boot/i386/btx/btx/btx.s,v 1.32 2002/10/08 18:19:02 jhb Exp $ -# $DragonFly: src/sys/boot/i386/btx/btx/Attic/btx.S,v 1.3 2003/11/10 06:08:35 dillon Exp $ +# $DragonFly: src/sys/boot/i386/btx/btx/Attic/btx.S,v 1.4 2004/06/24 23:31:06 dillon Exp $ # # Memory layout. @@ -297,7 +297,7 @@ exit.2: xor %ax,%ax # Real mode segment testb $0x1,btx_hdr+0x7 # Reboot? exit.3: jz exit.3 # No movw $0x1234, BDA_BOOT # Do a warm boot - ljmp $0xffff,$0x0 # reboot the machine + ljmp $0xf000,$0xfff0 # reboot the machine # # Set IRQ offsets by reprogramming 8259A PICs. # diff --git a/sys/boot/i386/btx/btx/btx.s b/sys/boot/i386/btx/btx/btx.s index 82f4dc74ec..27c08a4d22 100644 --- a/sys/boot/i386/btx/btx/btx.s +++ b/sys/boot/i386/btx/btx/btx.s @@ -14,7 +14,7 @@ # # $FreeBSD: src/sys/boot/i386/btx/btx/btx.s,v 1.32 2002/10/08 18:19:02 jhb Exp $ -# $DragonFly: src/sys/boot/i386/btx/btx/Attic/btx.s,v 1.3 2003/11/10 06:08:35 dillon Exp $ +# $DragonFly: src/sys/boot/i386/btx/btx/Attic/btx.s,v 1.4 2004/06/24 23:31:06 dillon Exp $ # # Memory layout. @@ -297,7 +297,7 @@ exit.2: xor %ax,%ax # Real mode segment testb $0x1,btx_hdr+0x7 # Reboot? exit.3: jz exit.3 # No movw $0x1234, BDA_BOOT # Do a warm boot - ljmp $0xffff,$0x0 # reboot the machine + ljmp $0xf000,$0xfff0 # reboot the machine # # Set IRQ offsets by reprogramming 8259A PICs. # diff --git a/sys/boot/pc32/btx/btx/btx.S b/sys/boot/pc32/btx/btx/btx.S index d201c50705..ad06f34ec0 100644 --- a/sys/boot/pc32/btx/btx/btx.S +++ b/sys/boot/pc32/btx/btx/btx.S @@ -14,7 +14,7 @@ # # $FreeBSD: src/sys/boot/i386/btx/btx/btx.s,v 1.32 2002/10/08 18:19:02 jhb Exp $ -# $DragonFly: src/sys/boot/pc32/btx/btx/btx.S,v 1.3 2003/11/10 06:08:35 dillon Exp $ +# $DragonFly: src/sys/boot/pc32/btx/btx/btx.S,v 1.4 2004/06/24 23:31:06 dillon Exp $ # # Memory layout. @@ -297,7 +297,7 @@ exit.2: xor %ax,%ax # Real mode segment testb $0x1,btx_hdr+0x7 # Reboot? exit.3: jz exit.3 # No movw $0x1234, BDA_BOOT # Do a warm boot - ljmp $0xffff,$0x0 # reboot the machine + ljmp $0xf000,$0xfff0 # reboot the machine # # Set IRQ offsets by reprogramming 8259A PICs. # -- 2.41.0