aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/kernel/cpu/common.c2
-rw-r--r--arch/x86/kernel/cpu/cpu.h3
-rw-r--r--arch/x86/kernel/cpu/scattered.c24
-rw-r--r--arch/x86/kernel/smpboot.c2
4 files changed, 2 insertions, 29 deletions
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
index ffb181f959d2..cb28e98a0659 100644
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -353,7 +353,7 @@ static __always_inline void setup_umip(struct cpuinfo_x86 *c)
353 353
354 cr4_set_bits(X86_CR4_UMIP); 354 cr4_set_bits(X86_CR4_UMIP);
355 355
356 pr_info("x86/cpu: Activated the Intel User Mode Instruction Prevention (UMIP) CPU feature\n"); 356 pr_info_once("x86/cpu: User Mode Instruction Prevention (UMIP) activated\n");
357 357
358 return; 358 return;
359 359
diff --git a/arch/x86/kernel/cpu/cpu.h b/arch/x86/kernel/cpu/cpu.h
index da5446acc241..5eb946b9a9f3 100644
--- a/arch/x86/kernel/cpu/cpu.h
+++ b/arch/x86/kernel/cpu/cpu.h
@@ -49,9 +49,6 @@ extern void get_cpu_cap(struct cpuinfo_x86 *c);
49extern void get_cpu_address_sizes(struct cpuinfo_x86 *c); 49extern void get_cpu_address_sizes(struct cpuinfo_x86 *c);
50extern void cpu_detect_cache_sizes(struct cpuinfo_x86 *c); 50extern void cpu_detect_cache_sizes(struct cpuinfo_x86 *c);
51extern void init_scattered_cpuid_features(struct cpuinfo_x86 *c); 51extern void init_scattered_cpuid_features(struct cpuinfo_x86 *c);
52extern u32 get_scattered_cpuid_leaf(unsigned int level,
53 unsigned int sub_leaf,
54 enum cpuid_regs_idx reg);
55extern void init_intel_cacheinfo(struct cpuinfo_x86 *c); 52extern void init_intel_cacheinfo(struct cpuinfo_x86 *c);
56extern void init_amd_cacheinfo(struct cpuinfo_x86 *c); 53extern void init_amd_cacheinfo(struct cpuinfo_x86 *c);
57extern void init_hygon_cacheinfo(struct cpuinfo_x86 *c); 54extern void init_hygon_cacheinfo(struct cpuinfo_x86 *c);
diff --git a/arch/x86/kernel/cpu/scattered.c b/arch/x86/kernel/cpu/scattered.c
index 0277267239f2..94aa1c72ca98 100644
--- a/arch/x86/kernel/cpu/scattered.c
+++ b/arch/x86/kernel/cpu/scattered.c
@@ -62,27 +62,3 @@ void init_scattered_cpuid_features(struct cpuinfo_x86 *c)
62 set_cpu_cap(c, cb->feature); 62 set_cpu_cap(c, cb->feature);
63 } 63 }
64} 64}
65
66u32 get_scattered_cpuid_leaf(unsigned int level, unsigned int sub_leaf,
67 enum cpuid_regs_idx reg)
68{
69 const struct cpuid_bit *cb;
70 u32 cpuid_val = 0;
71
72 for (cb = cpuid_bits; cb->feature; cb++) {
73
74 if (level > cb->level)
75 continue;
76
77 if (level < cb->level)
78 break;
79
80 if (reg == cb->reg && sub_leaf == cb->sub_leaf) {
81 if (cpu_has(&boot_cpu_data, cb->feature))
82 cpuid_val |= BIT(cb->bit);
83 }
84 }
85
86 return cpuid_val;
87}
88EXPORT_SYMBOL_GPL(get_scattered_cpuid_leaf);
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index a9134d1910b9..ccd1f2a8e557 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -1347,7 +1347,7 @@ void __init calculate_max_logical_packages(void)
1347 * extrapolate the boot cpu's data to all packages. 1347 * extrapolate the boot cpu's data to all packages.
1348 */ 1348 */
1349 ncpus = cpu_data(0).booted_cores * topology_max_smt_threads(); 1349 ncpus = cpu_data(0).booted_cores * topology_max_smt_threads();
1350 __max_logical_packages = DIV_ROUND_UP(nr_cpu_ids, ncpus); 1350 __max_logical_packages = DIV_ROUND_UP(total_cpus, ncpus);
1351 pr_info("Max logical packages: %u\n", __max_logical_packages); 1351 pr_info("Max logical packages: %u\n", __max_logical_packages);
1352} 1352}
1353 1353