x86: Fix show_msr= debug print out
PATCH 1/1 x86: Fix show_msr= debug print out
Found show_msr=n is broken when try to ask user to get debug info about broken mtrr. (setting are different between cpus)
Originally we call print_cpu_msr from print_cpu_info(), but
| commit 2eaad1fddd7450a48ad464229775f97fbfe8af36 | Author: Mike Travis <[email protected]> | Date: Thu Dec 10 17:19:36 2009 -0800 | | x86: Limit the number of processor bootup messages
just remove whole print_cpu_info calling for all APs. So show_msr=n stop working now.
Try to put back calling of print_cpu_msr, and it will only print msr when user specify show_msr=n
-v2: Fix one typo found by Ingo.
Signed-off-by Yinghai Lu <[email protected]>
--- arch/x86/include/asm/processor.h | 1 + arch/x86/kernel/cpu/common.c | 12 +++++------- arch/x86/kernel/smpboot.c | 5 +++-- 3 files changed, 9 insertions(+), 9 deletions(-)
arch/x86/include/asm/processor.h +1 -0
@@ -162,6 +162,7 @@ extern void early_cpu_init(void);extern void identify_boot_cpu (void );extern void identify_secondary_cpu (struct cpuinfo_x86 *);extern void print_cpu_info (struct cpuinfo_x86 *); +void print_cpu_msr (struct cpuinfo_x86 *);extern void init_scattered_cpuid_features (struct cpuinfo_x86 *c);extern unsigned int init_intel_cacheinfo (struct cpuinfo_x86 *c);extern unsigned short num_cache_leaves;
arch/x86/kernel/cpu/common.c +5 -7
@@ -933,7 +933,7 @@ static const struct msr_range msr_range_ { 0xc0011000, 0xc001103b}, }; -static void __cpuinit print_cpu_msr (void ) +static void __cpuinit __print_cpu_msr (void ) {unsigned index_min, index_max;unsigned index;
@@ -996,14 +996,12 @@ void __cpuinit print_cpu_info(struct cpuprintk (KERN_CONT " stepping %02x\n" , c->x86_mask); else printk(KERN_CONT "\n"); +} -#ifdef CONFIG_SMP +void __cpuinit print_cpu_msr (struct cpuinfo_x86 *c) +{if (c->cpu_index < show_msr) -print_cpu_msr (); -#else -if (show_msr) -print_cpu_msr (); -#endif +__print_cpu_msr (); }static __init int setup_disablecpuid (char *arg)
arch/x86/kernel/smpboot.c +3 -2
@@ -791,9 +791,10 @@ do_rest:schedule (); } -if (cpumask_test_cpu (cpu, cpu_callin_mask)) +if (cpumask_test_cpu (cpu, cpu_callin_mask)) { +print_cpu_msr (&cpu_data (cpu));pr_debug ("CPU%d: has booted.\n" , cpu); -else { + }else { boot_error =1 ;if (*(volatile u32 *)TRAMPOLINE_SYM (trampoline_status) ==0xA5A5A5A5 )