2003-09-29 17:17:19

by Dave Jones

[permalink] [raw]
Subject: [PATCH] Cleanup SEP errata workaround.

This looks a little simpler, and has the same effect.

diff -urpN --exclude-from=/home/davej/.exclude bk-linus/arch/i386/kernel/cpu/intel.c linux-2.5/arch/i386/kernel/cpu/intel.c
--- bk-linus/arch/i386/kernel/cpu/intel.c 2003-09-10 20:35:24.000000000 +0100
+++ linux-2.5/arch/i386/kernel/cpu/intel.c 2003-09-24 01:34:29.000000000 +0100
@@ -238,12 +269,9 @@ static void __init init_intel(struct cpu
}

/* SEP CPUID bug: Pentium Pro reports SEP but doesn't have it until model 3 mask 3 */
- if ( c->x86 == 6) {
- unsigned model_mask = (c->x86_model << 8) + c->x86_mask;
- if (model_mask < 0x0303)
- clear_bit(X86_FEATURE_SEP, c->x86_capability);
- }
-
+ if ((c->x86<<8 | c->x86_model<<4 | c->x86_mask) < 0x633)
+ clear_bit(X86_FEATURE_SEP, c->x86_capability);
+
/* Names for the Pentium II/Celeron processors
detectable only by also checking the cache size.
Dixon is NOT a Celeron. */


2003-09-29 18:16:27

by Dave Jones

[permalink] [raw]
Subject: Re: [PATCH] Cleanup SEP errata workaround.

On Mon, Sep 29, 2003 at 10:53:45AM -0700, Linus Torvalds wrote:
>
> On Mon, 29 Sep 2003 [email protected] wrote:
> >
> > This looks a little simpler, and has the same effect.
>
> Well, "almost same". Let's hope that Intel never releases an old Pentium
> with SEP ;)

8-) FWIW, Intel doc 24161823.pdf (Processor Identification & CPUID
instruction reference) section 3.4 does this check the same way as I did..

But lets worry about Intel being silly if/when they decide
to do so 8-)

Dave

--
Dave Jones http://www.codemonkey.org.uk

2003-09-29 17:58:41

by Linus Torvalds

[permalink] [raw]
Subject: Re: [PATCH] Cleanup SEP errata workaround.


On Mon, 29 Sep 2003 [email protected] wrote:
>
> This looks a little simpler, and has the same effect.

Well, "almost same". Let's hope that Intel never releases an old Pentium
with SEP ;)

Applied.

Linus