aboutsummaryrefslogtreecommitdiffstats
path: root/arch/i386/kernel/cpu/common.c
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2006-12-06 20:14:05 -0500
committerAndi Kleen <andi@basil.nowhere.org>2006-12-06 20:14:05 -0500
commit770d132f03ac15b12919f1bac481f4beda13e094 (patch)
treefdf8470cd380f2db1960102c928806f687f72938 /arch/i386/kernel/cpu/common.c
parentea7322decb974a4a3e804f96a0201e893ff88ce3 (diff)
[PATCH] i386: Retrieve CLFLUSH size from CPUID
Also report it in /proc/cpuinfo similar to x86-64. Needed for followon patch Signed-off-by: Andi Kleen <ak@suse.de>
Diffstat (limited to 'arch/i386/kernel/cpu/common.c')
-rw-r--r--arch/i386/kernel/cpu/common.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/i386/kernel/cpu/common.c b/arch/i386/kernel/cpu/common.c
index 6958ae5e2fa5..cda41aef79ad 100644
--- a/arch/i386/kernel/cpu/common.c
+++ b/arch/i386/kernel/cpu/common.c
@@ -309,6 +309,8 @@ static void __cpuinit generic_identify(struct cpuinfo_x86 * c)
309#else 309#else
310 c->apicid = (ebx >> 24) & 0xFF; 310 c->apicid = (ebx >> 24) & 0xFF;
311#endif 311#endif
312 if (c->x86_capability[0] & (1<<19))
313 c->x86_clflush_size = ((ebx >> 8) & 0xff) * 8;
312 } else { 314 } else {
313 /* Have CPUID level 0 only - unheard of */ 315 /* Have CPUID level 0 only - unheard of */
314 c->x86 = 4; 316 c->x86 = 4;
@@ -373,6 +375,7 @@ void __cpuinit identify_cpu(struct cpuinfo_x86 *c)
373 c->x86_vendor_id[0] = '\0'; /* Unset */ 375 c->x86_vendor_id[0] = '\0'; /* Unset */
374 c->x86_model_id[0] = '\0'; /* Unset */ 376 c->x86_model_id[0] = '\0'; /* Unset */
375 c->x86_max_cores = 1; 377 c->x86_max_cores = 1;
378 c->x86_clflush_size = 32;
376 memset(&c->x86_capability, 0, sizeof c->x86_capability); 379 memset(&c->x86_capability, 0, sizeof c->x86_capability);
377 380
378 if (!have_cpuid_p()) { 381 if (!have_cpuid_p()) {