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(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index a727d9959ecd..9c567a431d8d 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -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
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)
 {
        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. */
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)
         * 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);
 
        /*

Reply via email to