diff options
Diffstat (limited to 'arch/x86/kernel/cpu/proc.c')
| -rw-r--r-- | arch/x86/kernel/cpu/proc.c | 43 | 
1 files changed, 15 insertions, 28 deletions
diff --git a/arch/x86/kernel/cpu/proc.c b/arch/x86/kernel/cpu/proc.c index 62ac8cb6ba2..06fe3ed8b85 100644 --- a/arch/x86/kernel/cpu/proc.c +++ b/arch/x86/kernel/cpu/proc.c @@ -11,41 +11,31 @@ static void show_cpuinfo_core(struct seq_file *m, struct cpuinfo_x86 *c,  			      unsigned int cpu)  {  #ifdef CONFIG_SMP -	if (c->x86_max_cores * smp_num_siblings > 1) { -		seq_printf(m, "physical id\t: %d\n", c->phys_proc_id); -		seq_printf(m, "siblings\t: %d\n", -			   cpumask_weight(cpu_core_mask(cpu))); -		seq_printf(m, "core id\t\t: %d\n", c->cpu_core_id); -		seq_printf(m, "cpu cores\t: %d\n", c->booted_cores); -		seq_printf(m, "apicid\t\t: %d\n", c->apicid); -		seq_printf(m, "initial apicid\t: %d\n", c->initial_apicid); -	} +	seq_printf(m, "physical id\t: %d\n", c->phys_proc_id); +	seq_printf(m, "siblings\t: %d\n", cpumask_weight(cpu_core_mask(cpu))); +	seq_printf(m, "core id\t\t: %d\n", c->cpu_core_id); +	seq_printf(m, "cpu cores\t: %d\n", c->booted_cores); +	seq_printf(m, "apicid\t\t: %d\n", c->apicid); +	seq_printf(m, "initial apicid\t: %d\n", c->initial_apicid);  #endif  }  #ifdef CONFIG_X86_32  static void show_cpuinfo_misc(struct seq_file *m, struct cpuinfo_x86 *c)  { -	/* -	 * We use exception 16 if we have hardware math and we've either seen -	 * it or the CPU claims it is internal -	 */ -	int fpu_exception = c->hard_math && (ignore_fpu_irq || cpu_has_fpu);  	seq_printf(m,  		   "fdiv_bug\t: %s\n" -		   "hlt_bug\t\t: %s\n"  		   "f00f_bug\t: %s\n"  		   "coma_bug\t: %s\n"  		   "fpu\t\t: %s\n"  		   "fpu_exception\t: %s\n"  		   "cpuid level\t: %d\n"  		   "wp\t\t: %s\n", -		   c->fdiv_bug ? "yes" : "no", -		   c->hlt_works_ok ? "no" : "yes", -		   c->f00f_bug ? "yes" : "no", -		   c->coma_bug ? "yes" : "no", -		   c->hard_math ? "yes" : "no", -		   fpu_exception ? "yes" : "no", +		   static_cpu_has_bug(X86_BUG_FDIV) ? "yes" : "no", +		   static_cpu_has_bug(X86_BUG_F00F) ? "yes" : "no", +		   static_cpu_has_bug(X86_BUG_COMA) ? "yes" : "no", +		   static_cpu_has(X86_FEATURE_FPU) ? "yes" : "no", +		   static_cpu_has(X86_FEATURE_FPU) ? "yes" : "no",  		   c->cpuid_level,  		   c->wp_works_ok ? "yes" : "no");  } @@ -64,12 +54,10 @@ static void show_cpuinfo_misc(struct seq_file *m, struct cpuinfo_x86 *c)  static int show_cpuinfo(struct seq_file *m, void *v)  {  	struct cpuinfo_x86 *c = v; -	unsigned int cpu = 0; +	unsigned int cpu;  	int i; -#ifdef CONFIG_SMP  	cpu = c->cpu_index; -#endif  	seq_printf(m, "processor\t: %u\n"  		   "vendor_id\t: %s\n"  		   "cpu family\t: %d\n" @@ -85,6 +73,8 @@ static int show_cpuinfo(struct seq_file *m, void *v)  		seq_printf(m, "stepping\t: %d\n", c->x86_mask);  	else  		seq_printf(m, "stepping\t: unknown\n"); +	if (c->microcode) +		seq_printf(m, "microcode\t: 0x%x\n", c->microcode);  	if (cpu_has(c, X86_FEATURE_TSC)) {  		unsigned int freq = cpufreq_quick_get(cpu); @@ -140,10 +130,7 @@ static int show_cpuinfo(struct seq_file *m, void *v)  static void *c_start(struct seq_file *m, loff_t *pos)  { -	if (*pos == 0)	/* just in case, cpu 0 is not the first */ -		*pos = cpumask_first(cpu_online_mask); -	else -		*pos = cpumask_next(*pos - 1, cpu_online_mask); +	*pos = cpumask_next(*pos - 1, cpu_online_mask);  	if ((*pos) < nr_cpu_ids)  		return &cpu_data(*pos);  	return NULL;  | 
