[BACK]Return to procfs.c CVS log [TXT][DIR] Up to [Development] / linux-2.6-xfs / arch / v850 / kernel

File: [Development] / linux-2.6-xfs / arch / v850 / kernel / Attic / procfs.c (download)

Revision 1.2, Tue Feb 26 16:44:40 2008 UTC (9 years, 7 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.1: +1 -1 lines

Merge up to 2.6.25-rc3
Merge of 2.6.x-xfs-melb:linux:30555a by kenmcd.

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