Use of CONFIG_M686
Hi all...
Grepping through the sources or the kernel in search of CONFIG_M686 occurences, there are some places where it looks like that flag is used as 'Anything bigger than a Pentium'. Now kernel has configs for PIII, P4, probably PII.
It is the f00f bug handling. Files:
arch/i386/kernel/traps.c:
#ifndef CONFIG_M686 <=================== which also passes if PII, P4... void __init trap_init_f00f_bug(void)
...
arch/i386/kernel/setup.c:
static void __init init_intel(struct cpuinfo_x86 *c) {
#ifndef CONFIG_M686 <=================== again
static int f00f_workaround_enabled = 0;...
So thats why I asked if we could use a CONFIG_MPENTIUMPRO, and make CONFIG_M686 a generic flag that is also defined for anything bigger than a Pentium (that looks like the current usage).
So:
Pentium -> M586
PPro -> MPENTIUMPRO M686 PII -> MPENTIUMII M686 PIII -> MPENTIUMIII M686 P4 -> MPENTIUM4 M686
Signature · 4 lines
J.A. Magallon # Let the source be with you... mailto:[email protected] Mandrake Linux release 8.3 (Cooker) for i586 Linux werewolf 2.4.19-pre8-jam4 #2 SMP dom may 26 11:20:42 CEST 2002 i686
Quoted 7 lines · On 2002.05.28 J.A. Magallon wrote:
Hi all...
arch/i386/kernel/traps.c:#ifndef
CONFIG_M686<=================== which also passes if PII, P4... void__inittrap_init_f00f_bug(void)
...
Would it be enough with
#if defined(CONFIG_M586) || defined(CONFIG_M586TSC) || defined(CONFIG_M586MMX)
386-486 do not have the bug, do ?
Signature · 4 lines
J.A. Magallon # Let the source be with you... mailto:[email protected] Mandrake Linux release 8.3 (Cooker) for i586 Linux werewolf 2.4.19-pre8-jam4 #2 SMP dom may 26 11:20:42 CEST 2002 i686
Quoted 10 lines · J.A. Magallon
Quoted 7 lines · On 2002.05.28 J.A. Magallon wrote:
Hi all...
arch/i386/kernel/traps.c:#ifndef
CONFIG_M686<=================== which also passes if PII, P4... void__inittrap_init_f00f_bug(void)
...
Quoted 5 lines
Would it be enough with
#if
defined(CONFIG_M586)||defined(CONFIG_M586TSC)||defined(CONFIG_M586MMX)386-486 do not have the bug, do ?
You misunderstand the intent. A 386 or 486 kernel will run on a Pentium and could therefore hit the error. A PPro kernel would die earlier anyway. Of course its long been PPRO|Athlon|... and the ifdef wanted updating. I'd ifdef it on CONFIG_X86_FOOF_BUG and put the FOOF thing into arch/i386/Config.in nicely with the other stuff
Quoted 28 lines · J.A. Magallon
Hi all...
Grepping through the sources or the kernel in search of
CONFIG_M686occurences, there are some places where it looks like that flag is used as 'Anything bigger than a Pentium'. Now kernel has configs for PIII, P4, probably PII.It is the f00f bug handling. Files:
arch/i386/kernel/traps.c:#ifndef
CONFIG_M686<=================== which also passes if PII, P4... void__inittrap_init_f00f_bug(void)
...
arch/i386/kernel/setup.c:static void
__initinit_intel(struct cpuinfo_x86 *c){#ifndef CONFIG_M686 <=================== again static int f00f_workaround_enabled = 0;...
So thats why I asked if we could use a
CONFIG_MPENTIUMPRO, and makeCONFIG_M686a generic flag that is also defined for anything bigger than a Pentium (that looks like the current usage).
Quoted 8 lines
So:
Pentium -> M586PPro -> MPENTIUMPRO M686 PII -> MPENTIUMII M686 PIII -> MPENTIUMIII M686 P4 -> MPENTIUM4 M686
I fixed that in 2.5 by introducing CONFIG_X86_F00F_BUG.
http://marc.theaimsgroup.com/?l=linux-kernel&m=101416800017102&w=4
Signature · 1 line
Brian Gerst
Quoted 5 lines · Alan Cox
You misunderstand the intent. A 386 or 486 kernel will run on a Pentium and could therefore hit the error. A PPro kernel would die earlier anyway. Of course its long been PPRO|Athlon|... and the ifdef wanted updating. I'd ifdef it on
CONFIG_X86_FOOF_BUGand put the FOOF thing intoarch/i386/Config.innicely with the other stuff
Agreed. This is what's done in 2.5 btw.
Signature · 2 lines
| Dave Jones. http://www.codemonkey.org.uk | SuSE Labs