Commit 219a21b3 authored by Heiko Carstens's avatar Heiko Carstens Committed by Martin Schwidefsky

s390/cpuinfo: print cache info and all single cpu lines on first iteration

Change the code to print all the current output during the first
iteration. This is a preparation patch for the upcoming per cpu block
extension to /proc/cpuinfo.
Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent ac314184
...@@ -53,10 +53,7 @@ int cpu_have_feature(unsigned int num) ...@@ -53,10 +53,7 @@ int cpu_have_feature(unsigned int num)
} }
EXPORT_SYMBOL(cpu_have_feature); EXPORT_SYMBOL(cpu_have_feature);
/* static void show_cpu_summary(struct seq_file *m, void *v)
* show_cpuinfo - Get information on one CPU for use by procfs.
*/
static int show_cpuinfo(struct seq_file *m, void *v)
{ {
static const char *hwcap_str[] = { static const char *hwcap_str[] = {
"esan3", "zarch", "stfle", "msa", "ldisp", "eimm", "dfp", "esan3", "zarch", "stfle", "msa", "ldisp", "eimm", "dfp",
...@@ -65,10 +62,8 @@ static int show_cpuinfo(struct seq_file *m, void *v) ...@@ -65,10 +62,8 @@ static int show_cpuinfo(struct seq_file *m, void *v)
static const char * const int_hwcap_str[] = { static const char * const int_hwcap_str[] = {
"sie" "sie"
}; };
unsigned long n = (unsigned long) v - 1; int i, cpu;
int i;
if (!n) {
s390_adjust_jiffies(); s390_adjust_jiffies();
seq_printf(m, "vendor_id : IBM/S390\n" seq_printf(m, "vendor_id : IBM/S390\n"
"# processors : %i\n" "# processors : %i\n"
...@@ -84,15 +79,26 @@ static int show_cpuinfo(struct seq_file *m, void *v) ...@@ -84,15 +79,26 @@ static int show_cpuinfo(struct seq_file *m, void *v)
seq_printf(m, "%s ", int_hwcap_str[i]); seq_printf(m, "%s ", int_hwcap_str[i]);
seq_puts(m, "\n"); seq_puts(m, "\n");
show_cacheinfo(m); show_cacheinfo(m);
} for_each_online_cpu(cpu) {
if (cpu_online(n)) { struct cpuid *id = &per_cpu(cpu_id, cpu);
struct cpuid *id = &per_cpu(cpu_id, n);
seq_printf(m, "processor %li: " seq_printf(m, "processor %d: "
"version = %02X, " "version = %02X, "
"identification = %06X, " "identification = %06X, "
"machine = %04X\n", "machine = %04X\n",
n, id->version, id->ident, id->machine); cpu, id->version, id->ident, id->machine);
} }
}
/*
* show_cpuinfo - Get information on one CPU for use by procfs.
*/
static int show_cpuinfo(struct seq_file *m, void *v)
{
unsigned long n = (unsigned long) v - 1;
if (!n)
show_cpu_summary(m, v);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment