From: "H. Peter Anvin" <hpa@zytor.com>
To: Michael Tokarev <mjt@tls.msk.ru>
Cc: linux-kernel@vger.kernel.org, stable@kernel.org
Subject: Re: 2.6.23: does it supposed to work on an i486?
Date: Fri, 30 Nov 2007 10:08:28 -0800 [thread overview]
Message-ID: <4750519C.2000907@zytor.com> (raw)
In-Reply-To: <47504923.9030309@msgid.tls.msk.ru>
[-- Attachment #1: Type: text/plain, Size: 802 bytes --]
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
[-- Attachment #2: 0001-x86-setup-add-a-near-jump-to-serialize-cr0-on-386.patch --]
[-- Type: text/x-patch, Size: 1046 bytes --]
>From 7ed192906a2144ebc8ca2925a85d27b9c5355668 Mon Sep 17 00:00:00 2001
From: H. Peter Anvin <hpa@zytor.com>
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 <hpa@zytor.com>
---
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
next prev parent reply other threads:[~2007-11-30 18:09 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-30 17:32 2.6.23: does it supposed to work on an i486? Michael Tokarev
2007-11-30 18:08 ` H. Peter Anvin [this message]
2007-11-30 18:43 ` Michael Tokarev
2007-11-30 19:08 ` H. Peter Anvin
2007-11-30 19:20 ` Gerb Stralko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4750519C.2000907@zytor.com \
--to=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mjt@tls.msk.ru \
--cc=stable@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.