summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorKanoj Sarcar <kanoj@engr.sgi.com>2001-04-12 23:12:58 +0000
committerKanoj Sarcar <kanoj@engr.sgi.com>2001-04-12 23:12:58 +0000
commit4baadc02cba27948e1cbd96510f9f000050bbbcc (patch)
tree15207357e574d6bf290fc6203e44df97a69a609b /arch
parentc162d2843275a1f55fc9af421c0b4ec7869fd1cb (diff)
Get back to the standard interface for get_cpuinfo(). The ouput is
still nonstandard, but it better be if you want to see whether your system has 64 or 128 cpus!
Diffstat (limited to 'arch')
-rw-r--r--arch/mips64/kernel/proc.c57
1 files changed, 20 insertions, 37 deletions
diff --git a/arch/mips64/kernel/proc.c b/arch/mips64/kernel/proc.c
index d25a4ab04..ce329e465 100644
--- a/arch/mips64/kernel/proc.c
+++ b/arch/mips64/kernel/proc.c
@@ -26,67 +26,50 @@ unsigned int vced_count, vcei_count;
* Currently /proc/cpuinfo is being abused to print data about the
* number of date/instruction cacheflushes.
*/
-int get_cpuinfo(char *buffer, char **start, off_t offset, int count)
+int get_cpuinfo(char *buffer)
{
char fmt [64];
- struct cpuinfo_mips *c = cpu_data;
- size_t len = 0;
- int n;
+ size_t len;
- for (n = 0; n < smp_num_cpus; n++, c++) {
- len += sprintf(buffer + len, "processor\t\t: %d\n", n);
- len += sprintf(buffer + len, "vendor_id\t\t: MIPS\n");
- len += sprintf(buffer + len, "model name\t\t: R10000\n");
-/* len += sprintf(buffer + len, "cpu model\t\t: %s V%d.%d\n",
+ len = sprintf(buffer, "cpu\t\t\t: MIPS\n");
+#if 0
+ len += sprintf(buffer + len, "cpu model\t\t: %s V%d.%d\n",
cpu_name[mips_cputype <= CPU_LAST ?
mips_cputype :
CPU_UNKNOWN],
(version >> 4) & 0x0f,
version & 0x0f);
- len += sprintf(buffer + len, "system type\t\t: %s %s\n",
+ len += sprintf(buffer + len, "system type\t\t: %s %s\n",
mach_group_names[mips_machgroup],
mach_group_to_name[mips_machgroup][mips_machtype]);
-*/
- len += sprintf(buffer + len, "BogoMIPS\t\t: %lu.%02lu\n",
+#endif
+ len += sprintf(buffer + len, "BogoMIPS\t\t: %lu.%02lu\n",
(loops_per_jiffy + 2500) / (500000/HZ),
((loops_per_jiffy + 2500) / (5000/HZ)) % 100);
-/* len += sprintf(buffer + len, "Number of cpus\t\t: %d\n", smp_num_cpus);*/
+ len += sprintf(buffer + len, "Number of cpus\t\t: %d\n", smp_num_cpus);
#if defined (__MIPSEB__)
- len += sprintf(buffer + len, "byteorder\t\t: big endian\n");
+ len += sprintf(buffer + len, "byteorder\t\t: big endian\n");
#endif
#if defined (__MIPSEL__)
- len += sprintf(buffer + len, "byteorder\t\t: little endian\n");
+ len += sprintf(buffer + len, "byteorder\t\t: little endian\n");
#endif
- len += sprintf(buffer + len, "unaligned accesses\t: %lu\n",
+ len += sprintf(buffer + len, "unaligned accesses\t: %lu\n",
unaligned_instructions);
- len += sprintf(buffer + len, "wait instruction\t: %s\n",
+ len += sprintf(buffer + len, "wait instruction\t: %s\n",
wait_available ? "yes" : "no");
- len += sprintf(buffer + len, "microsecond timers\t: %s\n",
+ len += sprintf(buffer + len, "microsecond timers\t: %s\n",
cyclecounter_available ? "yes" : "no");
- len += sprintf(buffer + len, "extra interrupt vector\t: %s\n",
+ len += sprintf(buffer + len, "extra interrupt vector\t: %s\n",
dedicated_iv_available ? "yes" : "no");
- len += sprintf(buffer + len, "hardware watchpoint\t: %s\n",
+ len += sprintf(buffer + len, "hardware watchpoint\t: %s\n",
watch_available ? "yes" : "no");
- sprintf(fmt, "VCE%%c exceptions\t\t: %s\n",
+ sprintf(fmt, "VCE%%c exceptions\t\t: %s\n",
vce_available ? "%d" : "not available");
- len += sprintf(buffer + len, fmt, 'D', vced_count);
- len += sprintf(buffer + len, fmt, 'I', vcei_count);
- len += sprintf(buffer + len, "\n");
-
- if (len < offset)
- offset -= len, len = 0;
- else if (len >= offset + count)
- goto leave_loop;
- }
-
-leave_loop:
- *start = buffer + offset;
- len -= offset;
- if (len < 0)
- len = 0;
- return len > count ? count : len;
+ len += sprintf(buffer + len, fmt, 'D', vced_count);
+ len += sprintf(buffer + len, fmt, 'I', vcei_count);
+ return len;
}
void init_irq_proc(void)