Logo Search packages:      
Sourcecode: linux version File versions  Download package

procfs.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)
{
}

struct seq_operations cpuinfo_op = {
      .start      = cpuinfo_start,
      .next = cpuinfo_next,
      .stop = cpuinfo_stop,
      .show = cpuinfo_print
};

Generated by  Doxygen 1.6.0   Back to index