03a44825be
Signed-off-by: Jan Engelhardt <jengelh@computergmbh.de> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: Mike Frysinger <vapier@gentoo.org> Acked-By: David Howells <dhowells@redhat.com> Acked-by: Bryan Wu <bryan.wu@analog.com> Acked-by: Jesper Nilsson <jesper.nilsson@axis.com> Cc: <linux-arch@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
67 lines
1.6 KiB
C
67 lines
1.6 KiB
C
/*
|
|
* arch/v850/kernel/procfs.c -- Introspection functions for /proc filesystem
|
|
*
|
|
* Copyright (C) 2001,02 NEC Corporation
|
|
* Copyright (C) 2001,02 Miles Bader <miles@gnu.org>
|
|
*
|
|
* This file is subject to the terms and conditions of the GNU General
|
|
* Public License. See the file COPYING in the main directory of this
|
|
* archive for more details.
|
|
*
|
|
* Written by Miles Bader <miles@gnu.org>
|
|
*/
|
|
|
|
#include "mach.h"
|
|
|
|
static int cpuinfo_print (struct seq_file *m, void *v)
|
|
{
|
|
extern unsigned long loops_per_jiffy;
|
|
|
|
seq_printf (m, "CPU-Family: v850\nCPU-Arch: %s\n", CPU_ARCH);
|
|
|
|
#ifdef CPU_MODEL_LONG
|
|
seq_printf (m, "CPU-Model: %s (%s)\n", CPU_MODEL, CPU_MODEL_LONG);
|
|
#else
|
|
seq_printf (m, "CPU-Model: %s\n", CPU_MODEL);
|
|
#endif
|
|
|
|
#ifdef CPU_CLOCK_FREQ
|
|
seq_printf (m, "CPU-Clock: %ld (%ld MHz)\n",
|
|
(long)CPU_CLOCK_FREQ,
|
|
(long)CPU_CLOCK_FREQ / 1000000);
|
|
#endif
|
|
|
|
seq_printf (m, "BogoMips: %lu.%02lu\n",
|
|
loops_per_jiffy/(500000/HZ),
|
|
(loops_per_jiffy/(5000/HZ)) % 100);
|
|
|
|
#ifdef PLATFORM_LONG
|
|
seq_printf (m, "Platform: %s (%s)\n", PLATFORM, PLATFORM_LONG);
|
|
#elif defined (PLATFORM)
|
|
seq_printf (m, "Platform: %s\n", PLATFORM);
|
|
#endif
|
|
|
|
return 0;
|
|
}
|
|
|
|
static void *cpuinfo_start (struct seq_file *m, loff_t *pos)
|
|
{
|
|
return *pos < NR_CPUS ? ((void *) 0x12345678) : NULL;
|
|
}
|
|
|
|
static void *cpuinfo_next (struct seq_file *m, void *v, loff_t *pos)
|
|
{
|
|
++*pos;
|
|
return cpuinfo_start (m, pos);
|
|
}
|
|
|
|
static void cpuinfo_stop (struct seq_file *m, void *v)
|
|
{
|
|
}
|
|
|
|
const struct seq_operations cpuinfo_op = {
|
|
.start = cpuinfo_start,
|
|
.next = cpuinfo_next,
|
|
.stop = cpuinfo_stop,
|
|
.show = cpuinfo_print
|
|
};
|