aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2008-02-14 17:52:05 -0500
committerIngo Molnar <mingo@elte.hu>2008-02-26 06:55:51 -0500
commit7343b3b3a627eb30e24e921f004f659c8ebb91c5 (patch)
tree1e7c77a864c4a3e0186f9192a71520d0d39edf73
parenta7ef94e6889186848573a10c5bdb8271405f44de (diff)
x86: require family >= 6 if we are using P6 NOPs
The P6 family of NOPs are only available on family >= 6 or above, so enforce that in the boot code. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r--arch/x86/Kconfig.cpu5
-rw-r--r--include/asm-x86/nops.h4
2 files changed, 6 insertions, 3 deletions
diff --git a/arch/x86/Kconfig.cpu b/arch/x86/Kconfig.cpu
index e09a6b73a1aa..86fd2a0e4597 100644
--- a/arch/x86/Kconfig.cpu
+++ b/arch/x86/Kconfig.cpu
@@ -377,6 +377,10 @@ config X86_OOSTORE
377 def_bool y 377 def_bool y
378 depends on (MWINCHIP3D || MWINCHIP2 || MWINCHIPC6) && MTRR 378 depends on (MWINCHIP3D || MWINCHIP2 || MWINCHIPC6) && MTRR
379 379
380config X86_P6_NOP
381 def_bool y
382 depends on (M686 || MPENTIUMII || MPENTIUMIII || MPENTIUMM || MCORE2 || PENTIUM4)
383
380config X86_TSC 384config X86_TSC
381 def_bool y 385 def_bool y
382 depends on ((MWINCHIP3D || MWINCHIP2 || MCRUSOE || MEFFICEON || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || MK8 || MVIAC3_2 || MVIAC7 || MGEODEGX1 || MGEODE_LX || MCORE2) && !X86_NUMAQ) || X86_64 386 depends on ((MWINCHIP3D || MWINCHIP2 || MCRUSOE || MEFFICEON || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || MK8 || MVIAC3_2 || MVIAC7 || MGEODEGX1 || MGEODE_LX || MCORE2) && !X86_NUMAQ) || X86_64
@@ -390,6 +394,7 @@ config X86_CMOV
390config X86_MINIMUM_CPU_FAMILY 394config X86_MINIMUM_CPU_FAMILY
391 int 395 int
392 default "64" if X86_64 396 default "64" if X86_64
397 default "6" if X86_32 && X86_P6_NOP
393 default "4" if X86_32 && (X86_XADD || X86_CMPXCHG || X86_BSWAP || X86_WP_WORKS_OK) 398 default "4" if X86_32 && (X86_XADD || X86_CMPXCHG || X86_BSWAP || X86_WP_WORKS_OK)
394 default "3" 399 default "3"
395 400
diff --git a/include/asm-x86/nops.h b/include/asm-x86/nops.h
index fec025c7f58c..c52b334b8166 100644
--- a/include/asm-x86/nops.h
+++ b/include/asm-x86/nops.h
@@ -63,9 +63,7 @@
63#define ASM_NOP6 K7_NOP6 63#define ASM_NOP6 K7_NOP6
64#define ASM_NOP7 K7_NOP7 64#define ASM_NOP7 K7_NOP7
65#define ASM_NOP8 K7_NOP8 65#define ASM_NOP8 K7_NOP8
66#elif defined(CONFIG_M686) || defined(CONFIG_MPENTIUMII) || \ 66#elif defined(CONFIG_X86_P6_NOP)
67 defined(CONFIG_MPENTIUMIII) || defined(CONFIG_MPENTIUMM) || \
68 defined(CONFIG_MCORE2) || defined(CONFIG_PENTIUM4)
69#define ASM_NOP1 P6_NOP1 67#define ASM_NOP1 P6_NOP1
70#define ASM_NOP2 P6_NOP2 68#define ASM_NOP2 P6_NOP2
71#define ASM_NOP3 P6_NOP3 69#define ASM_NOP3 P6_NOP3