summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/mips64/kernel/proc.c57
-rw-r--r--fs/proc/proc_misc.c4
2 files changed, 22 insertions, 39 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)
diff --git a/fs/proc/proc_misc.c b/fs/proc/proc_misc.c
index 5863e45ac..a3eee35e1 100644
--- a/fs/proc/proc_misc.c
+++ b/fs/proc/proc_misc.c
@@ -49,7 +49,7 @@
* have a way to deal with that gracefully. Right now I used straightforward
* wrappers, but this needs further analysis wrt potential overflows.
*/
-extern int get_cpuinfo(char *, char **, off_t, int);
+extern int get_cpuinfo(char *);
extern int get_hardware_list(char *);
extern int get_stram_list(char *);
#ifdef CONFIG_DEBUG_MALLOC
@@ -211,7 +211,7 @@ static int version_read_proc(char *page, char **start, off_t off,
static int cpuinfo_read_proc(char *page, char **start, off_t off,
int count, int *eof, void *data)
{
- int len = get_cpuinfo(page, start, off, count);
+ int len = get_cpuinfo(page);
return proc_calc_metrics(page, start, off, count, eof, len);
}