]> git.proxmox.com Git - mirror_ubuntu-disco-kernel.git/commitdiff
x86/CPU: Modify detect_extended_topology() to return result
authorSuravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Fri, 27 Apr 2018 21:48:00 +0000 (16:48 -0500)
committerThomas Gleixner <tglx@linutronix.de>
Sun, 6 May 2018 10:49:16 +0000 (12:49 +0200)
Current implementation does not communicate whether it can successfully
detect CPUID function 0xB information. Therefore, modify the function to
return success or error codes. This will be used by subsequent patches.

Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Borislav Petkov <bp@suse.de>
Link: http://lkml.kernel.org/r/1524865681-112110-2-git-send-email-suravee.suthikulpanit@amd.com
arch/x86/include/asm/processor.h
arch/x86/kernel/cpu/topology.c

index 4fa4206029e3e126abc671ff0af71d6660c737fc..7aa2caa82b2d119b192052d8ba7bb2aba4f96438 100644 (file)
@@ -193,7 +193,7 @@ extern u32 get_scattered_cpuid_leaf(unsigned int level,
 extern unsigned int init_intel_cacheinfo(struct cpuinfo_x86 *c);
 extern void init_amd_cacheinfo(struct cpuinfo_x86 *c);
 
-extern void detect_extended_topology(struct cpuinfo_x86 *c);
+extern int detect_extended_topology(struct cpuinfo_x86 *c);
 extern void detect_ht(struct cpuinfo_x86 *c);
 
 #ifdef CONFIG_X86_32
index b099024d339c386929dbda450a328bc2b3887377..81c0afb39d0ab6259be8f2cce0e1def5c4a2119d 100644 (file)
@@ -27,7 +27,7 @@
  * exists, use it for populating initial_apicid and cpu topology
  * detection.
  */
-void detect_extended_topology(struct cpuinfo_x86 *c)
+int detect_extended_topology(struct cpuinfo_x86 *c)
 {
 #ifdef CONFIG_SMP
        unsigned int eax, ebx, ecx, edx, sub_index;
@@ -36,7 +36,7 @@ void detect_extended_topology(struct cpuinfo_x86 *c)
        static bool printed;
 
        if (c->cpuid_level < 0xb)
-               return;
+               return -1;
 
        cpuid_count(0xb, SMT_LEVEL, &eax, &ebx, &ecx, &edx);
 
@@ -44,7 +44,7 @@ void detect_extended_topology(struct cpuinfo_x86 *c)
         * check if the cpuid leaf 0xb is actually implemented.
         */
        if (ebx == 0 || (LEAFB_SUBTYPE(ecx) != SMT_TYPE))
-               return;
+               return -1;
 
        set_cpu_cap(c, X86_FEATURE_XTOPOLOGY);
 
@@ -95,6 +95,6 @@ void detect_extended_topology(struct cpuinfo_x86 *c)
                               c->cpu_core_id);
                printed = 1;
        }
-       return;
 #endif
+       return 0;
 }