Michael Tokarev wrote:
I tried to upgrade one of our ooooold machines
(used as print servers and similar tasks) today
from 2.6.22 to 2.6.23[.9]. The same config (with
minor tweaks for new options), i486 base arch,
X86_GENERIC=y.
The result is immediately machine reboot right
after bootloader (etherboot) passes control to
the kernel -- BEFORE "Uncompressing linux"
message.
2.6.22 worked just fine.
So I wonder if it's supposed to work in the first
place. The thing is that this machine(s) are very
slow to boot, so trying to figure out which change
is at question will require quite some time...
It looks like 2.6.23.9 is missing checkin
7ed192906a2144ebc8ca2925a85d27b9c5355668 from Linus' tree (attached),
which is necessary to work on 386 and 486.
-hpa
>From 7ed192906a2144ebc8ca2925a85d27b9c5355668 Mon Sep 17 00:00:00 2001
From: H. Peter Anvin <[email protected]>
Date: Sun, 4 Nov 2007 17:50:12 -0800
Subject: [PATCH] x86 setup: add a near jump to serialize %cr0 on 386/486
The 386 and 486 needs a jump immediately after setting %cr0 in order
to serialize the pipeline.
Signed-off-by: H. Peter Anvin <[email protected]>
---
arch/x86/boot/pmjump.S | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/x86/boot/pmjump.S b/arch/x86/boot/pmjump.S
index 2e55923..26baeab 100644
--- a/arch/x86/boot/pmjump.S
+++ b/arch/x86/boot/pmjump.S
@@ -31,14 +31,14 @@ protected_mode_jump:
xorl %ebx, %ebx # Flag to indicate this is a boot
movl %edx, %esi # Pointer to boot_params table
movl %eax, 2f # Patch ljmpl instruction
- jmp 1f # Short jump to flush instruction q.
-1:
movw $__BOOT_DS, %cx
movl %cr0, %edx
orb $1, %dl # Protected mode (PE) bit
movl %edx, %cr0
+ jmp 1f # Short jump to serialize on 386/486
+1:
movw %cx, %ds
movw %cx, %es
--
1.5.3.4
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]