diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-11 20:46:43 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-11 20:46:43 -0500 |
commit | 6df1e7f2e96721dfdbfd8a034e52bc81916f978c (patch) | |
tree | 8567e8dd37a2ebdc5f7670c88e82f2e9d9e725be /arch/x86/kernel/cpu/common.c | |
parent | d96d8aa261708ecb1536d2733081800e7e15e8f4 (diff) | |
parent | b53b5eda8194214928c8243d711a75dbf51809fc (diff) |
Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 cpu changes from Ingo Molnar:
"The biggest change that stands out is the increase of the
CONFIG_NR_CPUS range from 4096 to 8192 - as real hardware out there
already went beyond 4k CPUs ...
We only allow more than 512 CPUs if offstack cpumasks are enabled.
CONFIG_MAXSMP=y remains to be the 'you are nuts!' extreme testcase,
which now means a max of 8192 CPUs"
* 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/cpu: Increase max CPU count to 8192
x86/cpu: Allow higher NR_CPUS values
x86/cpu: Always print SMP information in /proc/cpuinfo
x86/cpu: Track legacy CPU model data only on 32-bit kernels
Diffstat (limited to 'arch/x86/kernel/cpu/common.c')
-rw-r--r-- | arch/x86/kernel/cpu/common.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c index 5223fe6dec7b..6abc172b8258 100644 --- a/arch/x86/kernel/cpu/common.c +++ b/arch/x86/kernel/cpu/common.c | |||
@@ -346,7 +346,8 @@ static void filter_cpuid_features(struct cpuinfo_x86 *c, bool warn) | |||
346 | /* Look up CPU names by table lookup. */ | 346 | /* Look up CPU names by table lookup. */ |
347 | static const char *table_lookup_model(struct cpuinfo_x86 *c) | 347 | static const char *table_lookup_model(struct cpuinfo_x86 *c) |
348 | { | 348 | { |
349 | const struct cpu_model_info *info; | 349 | #ifdef CONFIG_X86_32 |
350 | const struct legacy_cpu_model_info *info; | ||
350 | 351 | ||
351 | if (c->x86_model >= 16) | 352 | if (c->x86_model >= 16) |
352 | return NULL; /* Range check */ | 353 | return NULL; /* Range check */ |
@@ -354,13 +355,14 @@ static const char *table_lookup_model(struct cpuinfo_x86 *c) | |||
354 | if (!this_cpu) | 355 | if (!this_cpu) |
355 | return NULL; | 356 | return NULL; |
356 | 357 | ||
357 | info = this_cpu->c_models; | 358 | info = this_cpu->legacy_models; |
358 | 359 | ||
359 | while (info && info->family) { | 360 | while (info->family) { |
360 | if (info->family == c->x86) | 361 | if (info->family == c->x86) |
361 | return info->model_names[c->x86_model]; | 362 | return info->model_names[c->x86_model]; |
362 | info++; | 363 | info++; |
363 | } | 364 | } |
365 | #endif | ||
364 | return NULL; /* Not found */ | 366 | return NULL; /* Not found */ |
365 | } | 367 | } |
366 | 368 | ||
@@ -450,8 +452,8 @@ void cpu_detect_cache_sizes(struct cpuinfo_x86 *c) | |||
450 | c->x86_tlbsize += ((ebx >> 16) & 0xfff) + (ebx & 0xfff); | 452 | c->x86_tlbsize += ((ebx >> 16) & 0xfff) + (ebx & 0xfff); |
451 | #else | 453 | #else |
452 | /* do processor-specific cache resizing */ | 454 | /* do processor-specific cache resizing */ |
453 | if (this_cpu->c_size_cache) | 455 | if (this_cpu->legacy_cache_size) |
454 | l2size = this_cpu->c_size_cache(c, l2size); | 456 | l2size = this_cpu->legacy_cache_size(c, l2size); |
455 | 457 | ||
456 | /* Allow user to override all this if necessary. */ | 458 | /* Allow user to override all this if necessary. */ |
457 | if (cachesize_override != -1) | 459 | if (cachesize_override != -1) |