Messages in this thread Patch in this message |  | | | Date | Mon, 25 Feb 2008 10:17:33 +0100 | | From | Mikael Pettersson <> | | Subject | Re: [BUG] 2.6.25-rc2-git8 fails to boot on 486 due to TSC breakage | |
Ingo Molnar writes:
>
> * H. Peter Anvin <hpa@zytor.com> wrote:
>
> > Please fix it in both places. Using XOR instead of AND-NOT is a bug,
> > plain and simple.
>
> yes, i already fixed that when i added Mikael's patch and it's all
> queued up.
Ok. For reference and for LKML viewers, this is what
the final patch should be:
diff -rupN linux-2.6.25-rc3/arch/x86/kernel/cpu/common.c linux-2.6.25-rc3.x86-apply-cleared_cpu_caps-correctly/arch/x86/kernel/cpu/common.c
--- linux-2.6.25-rc3/arch/x86/kernel/cpu/common.c 2008-02-25 09:29:03.000000000 +0100
+++ linux-2.6.25-rc3.x86-apply-cleared_cpu_caps-correctly/arch/x86/kernel/cpu/common.c 2008-02-25 09:44:11.000000000 +0100
@@ -504,7 +504,7 @@ void __cpuinit identify_cpu(struct cpuin
/* Clear all flags overriden by options */
for (i = 0; i < NCAPINTS; i++)
- c->x86_capability[i] ^= cleared_cpu_caps[i];
+ c->x86_capability[i] &= ~cleared_cpu_caps[i];
/* Init Machine Check Exception if available. */
mcheck_init(c);
diff -rupN linux-2.6.25-rc3/arch/x86/kernel/setup_64.c linux-2.6.25-rc3.x86-apply-cleared_cpu_caps-correctly/arch/x86/kernel/setup_64.c
--- linux-2.6.25-rc3/arch/x86/kernel/setup_64.c 2008-02-25 09:29:03.000000000 +0100
+++ linux-2.6.25-rc3.x86-apply-cleared_cpu_caps-correctly/arch/x86/kernel/setup_64.c 2008-02-25 09:44:57.000000000 +0100
@@ -1021,7 +1021,7 @@ void __cpuinit identify_cpu(struct cpuin
/* Clear all flags overriden by options */
for (i = 0; i < NCAPINTS; i++)
- c->x86_capability[i] ^= cleared_cpu_caps[i];
+ c->x86_capability[i] &= ~cleared_cpu_caps[i];
#ifdef CONFIG_X86_MCE
mcheck_init(c);
|  |