Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+34 −28
Original line number Diff line number Diff line
@@ -53,10 +53,7 @@ int cpu_have_feature(unsigned int num)
}
EXPORT_SYMBOL(cpu_have_feature);

/*
 * show_cpuinfo - Get information on one CPU for use by procfs.
 */
static int show_cpuinfo(struct seq_file *m, void *v)
static void show_cpu_summary(struct seq_file *m, void *v)
{
	static const char *hwcap_str[] = {
		"esan3", "zarch", "stfle", "msa", "ldisp", "eimm", "dfp",
@@ -65,10 +62,8 @@ static int show_cpuinfo(struct seq_file *m, void *v)
	static const char * const int_hwcap_str[] = {
		"sie"
	};
	unsigned long n = (unsigned long) v - 1;
	int i;
	int i, cpu;

	if (!n) {
	s390_adjust_jiffies();
	seq_printf(m, "vendor_id       : IBM/S390\n"
		   "# processors    : %i\n"
@@ -84,15 +79,26 @@ static int show_cpuinfo(struct seq_file *m, void *v)
			seq_printf(m, "%s ", int_hwcap_str[i]);
	seq_puts(m, "\n");
	show_cacheinfo(m);
	}
	if (cpu_online(n)) {
		struct cpuid *id = &per_cpu(cpu_id, n);
		seq_printf(m, "processor %li: "
	for_each_online_cpu(cpu) {
		struct cpuid *id = &per_cpu(cpu_id, cpu);

		seq_printf(m, "processor %d: "
			   "version = %02X,  "
			   "identification = %06X,  "
			   "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;
}