Skip to contentSkip to conversation

x86 fixes

GIT PULL Ingo Molnar 1 participant 1 message May 10, 2016 x86

lore
Share & tools
lore
#0 lore raw

Linus,

Please pull the latest x86-urgent-for-linus git tree from:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-urgent-for-linus

# HEAD: 8d415ee225a3d15d3e3029524350e8237a4de7b8 x86/topology: Set x86_max_cores to 1 for CONFIG_SMP=n

Two topology corner case fixes, and a MAINTAINERS file update for mmiotrace maintenance.

out-of-topic modifications in x86-urgent-for-linus:
-----------------------------------------------------
MAINTAINERS # 4abac0d0bbc6: MAINTAINERS: Add mmiotrace e

Thanks,

Ingo

------------------>
Ingo Molnar (1):
MAINTAINERS: Add mmiotrace entry

Thomas Gleixner (2):
x86/topology: Handle CPUID bogosity gracefully x86/topology: Set x86_max_cores to 1 for CONFIG_SMP=n

 MAINTAINERS                 | 14 ++++++++++++++
 arch/x86/kernel/cpu/intel.c |  2 +-
 arch/x86/kernel/smpboot.c   |  5 +++++
 3 files changed, 20 insertions(+), 1 deletion(-)
MAINTAINERS +14 -0
index a727d9959ecd..9c567a431d8d 100644
@@ -11318,6 +11318,20 @@ F:	include/trace/
 F:	kernel/trace/
 F:	tools/testing/selftests/ftrace/
 
+TRACING MMIO ACCESSES (MMIOTRACE)
+M:	Steven Rostedt <[email protected]>
+M:	Ingo Molnar <[email protected]>
+R:	Karol Herbst <[email protected]>
+R:	Pekka Paalanen <[email protected]>
+S:	Maintained
+L:	[email protected]
+L:	[email protected]
+F:	kernel/trace/trace_mmiotrace.c
+F:	include/linux/mmiotrace.h
+F:	arch/x86/mm/kmmio.c
+F:	arch/x86/mm/mmio-mod.c
+F:	arch/x86/mm/testmmiotrace.c
+
 TRIVIAL PATCHES
 M:	Jiri Kosina <[email protected]>
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial.git
arch/x86/kernel/cpu/intel.c +1 -1
index 1f7fdb91a818..e4393bfc7f0d 100644
@@ -336,7 +336,7 @@ static int intel_num_cpu_cores(struct cpuinfo_x86 *c)
 {
 	unsigned int eax, ebx, ecx, edx;
 
-	if (c->cpuid_level < 4)
+	if (!IS_ENABLED(CONFIG_SMP) || c->cpuid_level < 4)
 		return 1;
 
 	/* Intel has a non-standard dependency on %ecx for this CPUID level. */
arch/x86/kernel/smpboot.c +5 -0
index a2065d3b3b39..0e4329ed91ef 100644
@@ -332,6 +332,11 @@ static void __init smp_init_package_map(void)
 	 * primary cores.
 	 */
 	ncpus = boot_cpu_data.x86_max_cores;
+	if (!ncpus) {
+		pr_warn("x86_max_cores == zero !?!?");
+		ncpus = 1;
+	}
+
 	__max_logical_packages = DIV_ROUND_UP(total_cpus, ncpus);
 
 	/*