forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
sparc: consolidate show_cpuinfo in cpu.c
We have all the cpu related info in cpu.c - so move the remaining functions to support /proc/cpuinfo to this file. Signed-off-by: Sam Ravnborg <[email protected]> Signed-off-by: David S. Miller <[email protected]>
- Loading branch information
Showing
8 changed files
with
133 additions
and
157 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,14 +4,17 @@ | |
* Copyright (C) 1996 David S. Miller ([email protected]) | ||
*/ | ||
|
||
#include <linux/seq_file.h> | ||
#include <linux/kernel.h> | ||
#include <linux/module.h> | ||
#include <linux/init.h> | ||
#include <linux/smp.h> | ||
#include <linux/threads.h> | ||
|
||
#include <asm/spitfire.h> | ||
#include <asm/pgtable.h> | ||
#include <asm/oplib.h> | ||
#include <asm/setup.h> | ||
#include <asm/page.h> | ||
#include <asm/head.h> | ||
#include <asm/psr.h> | ||
|
@@ -23,6 +26,9 @@ | |
DEFINE_PER_CPU(cpuinfo_sparc, __cpu_data) = { 0 }; | ||
EXPORT_PER_CPU_SYMBOL(__cpu_data); | ||
|
||
int ncpus_probed; | ||
unsigned int fsr_storage; | ||
|
||
struct cpu_info { | ||
int psr_vers; | ||
const char *name; | ||
|
@@ -247,11 +253,10 @@ static const struct manufacturer_info __initconst manufacturer_info[] = { | |
* machine type value into consideration too. I will fix this. | ||
*/ | ||
|
||
const char *sparc_cpu_type; | ||
const char *sparc_fpu_type; | ||
static const char *sparc_cpu_type; | ||
static const char *sparc_fpu_type; | ||
const char *sparc_pmu_type; | ||
|
||
unsigned int fsr_storage; | ||
|
||
static void set_cpu_and_fpu(int psr_impl, int psr_vers, int fpu_vers) | ||
{ | ||
|
@@ -312,6 +317,122 @@ static void set_cpu_and_fpu(int psr_impl, int psr_vers, int fpu_vers) | |
sparc_pmu_type = "Unknown PMU"; | ||
} | ||
|
||
#ifdef CONFIG_SPARC32 | ||
static int show_cpuinfo(struct seq_file *m, void *__unused) | ||
{ | ||
seq_printf(m, | ||
"cpu\t\t: %s\n" | ||
"fpu\t\t: %s\n" | ||
"promlib\t\t: Version %d Revision %d\n" | ||
"prom\t\t: %d.%d\n" | ||
"type\t\t: %s\n" | ||
"ncpus probed\t: %d\n" | ||
"ncpus active\t: %d\n" | ||
#ifndef CONFIG_SMP | ||
"CPU0Bogo\t: %lu.%02lu\n" | ||
"CPU0ClkTck\t: %ld\n" | ||
#endif | ||
, | ||
sparc_cpu_type, | ||
sparc_fpu_type , | ||
romvec->pv_romvers, | ||
prom_rev, | ||
romvec->pv_printrev >> 16, | ||
romvec->pv_printrev & 0xffff, | ||
&cputypval[0], | ||
ncpus_probed, | ||
num_online_cpus() | ||
#ifndef CONFIG_SMP | ||
, cpu_data(0).udelay_val/(500000/HZ), | ||
(cpu_data(0).udelay_val/(5000/HZ)) % 100, | ||
cpu_data(0).clock_tick | ||
#endif | ||
); | ||
|
||
#ifdef CONFIG_SMP | ||
smp_bogo(m); | ||
#endif | ||
mmu_info(m); | ||
#ifdef CONFIG_SMP | ||
smp_info(m); | ||
#endif | ||
return 0; | ||
} | ||
#endif /* CONFIG_SPARC32 */ | ||
|
||
#ifdef CONFIG_SPARC64 | ||
unsigned int dcache_parity_tl1_occurred; | ||
unsigned int icache_parity_tl1_occurred; | ||
|
||
|
||
static int show_cpuinfo(struct seq_file *m, void *__unused) | ||
{ | ||
seq_printf(m, | ||
"cpu\t\t: %s\n" | ||
"fpu\t\t: %s\n" | ||
"pmu\t\t: %s\n" | ||
"prom\t\t: %s\n" | ||
"type\t\t: %s\n" | ||
"ncpus probed\t: %d\n" | ||
"ncpus active\t: %d\n" | ||
"D$ parity tl1\t: %u\n" | ||
"I$ parity tl1\t: %u\n" | ||
#ifndef CONFIG_SMP | ||
"Cpu0ClkTck\t: %016lx\n" | ||
#endif | ||
, | ||
sparc_cpu_type, | ||
sparc_fpu_type, | ||
sparc_pmu_type, | ||
prom_version, | ||
((tlb_type == hypervisor) ? | ||
"sun4v" : | ||
"sun4u"), | ||
ncpus_probed, | ||
num_online_cpus(), | ||
dcache_parity_tl1_occurred, | ||
icache_parity_tl1_occurred | ||
#ifndef CONFIG_SMP | ||
, cpu_data(0).clock_tick | ||
#endif | ||
); | ||
#ifdef CONFIG_SMP | ||
smp_bogo(m); | ||
#endif | ||
mmu_info(m); | ||
#ifdef CONFIG_SMP | ||
smp_info(m); | ||
#endif | ||
return 0; | ||
} | ||
#endif /* CONFIG_SPARC64 */ | ||
|
||
static void *c_start(struct seq_file *m, loff_t *pos) | ||
{ | ||
/* The pointer we are returning is arbitrary, | ||
* it just has to be non-NULL and not IS_ERR | ||
* in the success case. | ||
*/ | ||
return *pos == 0 ? &c_start : NULL; | ||
} | ||
|
||
static void *c_next(struct seq_file *m, void *v, loff_t *pos) | ||
{ | ||
++*pos; | ||
return c_start(m, pos); | ||
} | ||
|
||
static void c_stop(struct seq_file *m, void *v) | ||
{ | ||
} | ||
|
||
const struct seq_operations cpuinfo_op = { | ||
.start =c_start, | ||
.next = c_next, | ||
.stop = c_stop, | ||
.show = show_cpuinfo, | ||
}; | ||
|
||
#ifdef CONFIG_SPARC32 | ||
void __cpuinit cpu_probe(void) | ||
{ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters