All of lore.kernel.org
 help / color / mirror / Atom feed
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


  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.