| /* | |
| * 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 | |
| }; |