diff options
author | Kanoj Sarcar <kanoj@engr.sgi.com> | 2001-04-12 23:12:58 +0000 |
---|---|---|
committer | Kanoj Sarcar <kanoj@engr.sgi.com> | 2001-04-12 23:12:58 +0000 |
commit | 4baadc02cba27948e1cbd96510f9f000050bbbcc (patch) | |
tree | 15207357e574d6bf290fc6203e44df97a69a609b /arch | |
parent | c162d2843275a1f55fc9af421c0b4ec7869fd1cb (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.c | 57 |
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) |