diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-05-10 14:41:05 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-05-10 14:41:05 -0400 |
| commit | 7ec02e3bf45e0e7502db7f8d50c19abc1ebbab00 (patch) | |
| tree | 1f0a24b433f0a4d096d1b87e56e682a873c8dab1 | |
| parent | ac2440654df6ac7314e2f8819fe05e7c863a2392 (diff) | |
| parent | 8d415ee225a3d15d3e3029524350e8237a4de7b8 (diff) | |
Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 fixes from Ingo Molnar:
"Two topology corner case fixes, and a MAINTAINERS file update for
mmiotrace maintenance"
* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/topology: Set x86_max_cores to 1 for CONFIG_SMP=n
MAINTAINERS: Add mmiotrace entry
x86/topology: Handle CPUID bogosity gracefully
| -rw-r--r-- | MAINTAINERS | 14 | ||||
| -rw-r--r-- | arch/x86/kernel/cpu/intel.c | 2 | ||||
| -rw-r--r-- | arch/x86/kernel/smpboot.c | 5 |
3 files changed, 20 insertions, 1 deletions
diff --git a/MAINTAINERS b/MAINTAINERS index a727d9959ecd..9c567a431d8d 100644 --- a/MAINTAINERS +++ b/MAINTAINERS | |||
| @@ -11318,6 +11318,20 @@ F: include/trace/ | |||
| 11318 | F: kernel/trace/ | 11318 | F: kernel/trace/ |
| 11319 | F: tools/testing/selftests/ftrace/ | 11319 | F: tools/testing/selftests/ftrace/ |
| 11320 | 11320 | ||
| 11321 | TRACING MMIO ACCESSES (MMIOTRACE) | ||
| 11322 | M: Steven Rostedt <rostedt@goodmis.org> | ||
| 11323 | M: Ingo Molnar <mingo@kernel.org> | ||
| 11324 | R: Karol Herbst <karolherbst@gmail.com> | ||
| 11325 | R: Pekka Paalanen <ppaalanen@gmail.com> | ||
| 11326 | S: Maintained | ||
| 11327 | L: linux-kernel@vger.kernel.org | ||
| 11328 | L: nouveau@lists.freedesktop.org | ||
| 11329 | F: kernel/trace/trace_mmiotrace.c | ||
| 11330 | F: include/linux/mmiotrace.h | ||
| 11331 | F: arch/x86/mm/kmmio.c | ||
| 11332 | F: arch/x86/mm/mmio-mod.c | ||
| 11333 | F: arch/x86/mm/testmmiotrace.c | ||
| 11334 | |||
| 11321 | TRIVIAL PATCHES | 11335 | TRIVIAL PATCHES |
| 11322 | M: Jiri Kosina <trivial@kernel.org> | 11336 | M: Jiri Kosina <trivial@kernel.org> |
| 11323 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial.git | 11337 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial.git |
diff --git a/arch/x86/kernel/cpu/intel.c b/arch/x86/kernel/cpu/intel.c index 1f7fdb91a818..e4393bfc7f0d 100644 --- a/arch/x86/kernel/cpu/intel.c +++ b/arch/x86/kernel/cpu/intel.c | |||
| @@ -336,7 +336,7 @@ static int intel_num_cpu_cores(struct cpuinfo_x86 *c) | |||
| 336 | { | 336 | { |
| 337 | unsigned int eax, ebx, ecx, edx; | 337 | unsigned int eax, ebx, ecx, edx; |
| 338 | 338 | ||
| 339 | if (c->cpuid_level < 4) | 339 | if (!IS_ENABLED(CONFIG_SMP) || c->cpuid_level < 4) |
| 340 | return 1; | 340 | return 1; |
| 341 | 341 | ||
| 342 | /* Intel has a non-standard dependency on %ecx for this CPUID level. */ | 342 | /* Intel has a non-standard dependency on %ecx for this CPUID level. */ |
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index a2065d3b3b39..0e4329ed91ef 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c | |||
| @@ -332,6 +332,11 @@ static void __init smp_init_package_map(void) | |||
| 332 | * primary cores. | 332 | * primary cores. |
| 333 | */ | 333 | */ |
| 334 | ncpus = boot_cpu_data.x86_max_cores; | 334 | ncpus = boot_cpu_data.x86_max_cores; |
| 335 | if (!ncpus) { | ||
| 336 | pr_warn("x86_max_cores == zero !?!?"); | ||
| 337 | ncpus = 1; | ||
| 338 | } | ||
| 339 | |||
| 335 | __max_logical_packages = DIV_ROUND_UP(total_cpus, ncpus); | 340 | __max_logical_packages = DIV_ROUND_UP(total_cpus, ncpus); |
| 336 | 341 | ||
| 337 | /* | 342 | /* |
