patch-2.4.18 linux/arch/cris/kernel/setup.c
Next file: linux/arch/cris/kernel/time.c
Previous file: linux/arch/cris/kernel/ptrace.c
Back to the patch index
Back to the overall index
- Lines: 144
- Date:
Tue Jan 8 16:00:08 2002
- Orig file:
linux.orig/arch/cris/kernel/setup.c
- Orig date:
Mon Feb 18 20:18:39 2002
diff -Naur -X /home/marcelo/lib/dontdiff linux.orig/arch/cris/kernel/setup.c linux/arch/cris/kernel/setup.c
@@ -1,4 +1,4 @@
-/* $Id: setup.c,v 1.22 2001/10/23 17:42:58 pkj Exp $
+/* $Id: setup.c,v 1.24 2001/12/07 17:03:19 bjornw Exp $
*
* linux/arch/cris/kernel/setup.c
*
@@ -26,10 +26,12 @@
#include <linux/config.h>
#include <linux/init.h>
#include <linux/bootmem.h>
+#include <linux/seq_file.h>
#include <asm/segment.h>
#include <asm/system.h>
#include <asm/smp.h>
+#include <asm/pgtable.h>
#include <asm/types.h>
#include <asm/svinto.h>
@@ -72,10 +74,10 @@
void __init
setup_arch(char **cmdline_p)
{
- unsigned long bootmap_size;
+ extern void init_etrax_debug(void);
+ unsigned long bootmap_size;
unsigned long start_pfn, max_pfn;
unsigned long memory_start;
- extern void console_print_etrax(const char *b);
/* register an initial console printing routine for printk's */
@@ -87,12 +89,12 @@
if(romfs_in_flash || !romfs_length) {
/* if we have the romfs in flash, or if there is no rom filesystem,
- * our free area starts directly after the BSS
+ * our free area starts directly after the BSS
*/
memory_start = (unsigned long) &_end;
} else {
/* otherwise the free area starts after the ROM filesystem */
- printk("ROM fs in RAM, size %d bytes\n", romfs_length);
+ printk("ROM fs in RAM, size %lu bytes\n", romfs_length);
memory_start = romfs_start + romfs_length;
}
@@ -193,7 +195,7 @@
#define HAS_ATA 0x0020
#define HAS_USB 0x0040
#define HAS_IRQ_BUG 0x0080
-#define HAS_MMU_BUG 0x0100
+#define HAS_MMU_BUG 0x0100
static struct cpu_info {
char *model;
@@ -213,50 +215,27 @@
{ "ETRAX 100", 8, HAS_ETHERNET100 | HAS_SCSI | HAS_ATA | HAS_IRQ_BUG },
{ "ETRAX 100", 8, HAS_ETHERNET100 | HAS_SCSI | HAS_ATA },
{ "ETRAX 100LX", 8, HAS_ETHERNET100 | HAS_SCSI | HAS_ATA | HAS_USB | HAS_MMU | HAS_MMU_BUG },
- { "ETRAX 100LX v2", 8, HAS_ETHERNET100 | HAS_SCSI | HAS_ATA | HAS_USB | HAS_MMU },
+ { "ETRAX 100LX v2", 8, HAS_ETHERNET100 | HAS_SCSI | HAS_ATA | HAS_USB | HAS_MMU },
{ "Unknown", 0, 0 } /* This entry MUST be the last */
};
-/*
- * get_cpuinfo - Get information on one CPU for use by the procfs.
- *
- * Prints info on the next CPU into buffer. Beware, doesn't check for
- * buffer overflow. Current implementation of procfs assumes that the
- * resulting data is <= 1K.
- *
- * BUFFER is PAGE_SIZE - 1K bytes long.
- *
- * Args:
- * buffer -- you guessed it, the data buffer
- * cpu_np -- Input: next cpu to get (start at 0). Output: Updated.
- *
- * Returns number of bytes written to buffer.
- */
-int get_cpuinfo(char *buffer, unsigned *cpu_np)
+static int show_cpuinfo(struct seq_file *m, void *v)
{
- int revision;
- struct cpu_info *info;
- unsigned n;
+ unsigned long revision;
+ struct cpu_info *info;
/* read the version register in the CPU and print some stuff */
revision = rdvr();
- if (revision < 0 || revision >= sizeof cpu_info/sizeof *cpu_info) {
+ if (revision >= sizeof cpu_info/sizeof *cpu_info)
info = &cpu_info[sizeof cpu_info/sizeof *cpu_info - 1];
- } else
+ else
info = &cpu_info[revision];
- /* No SMP at the moment, so just toggle 0/1 */
- n = *cpu_np;
- *cpu_np = 1;
- if (n != 0) {
- return (0);
- }
-
- return sprintf(buffer,
+ return seq_printf(m,
"cpu\t\t: CRIS\n"
- "cpu revision\t: %d\n"
+ "cpu revision\t: %lu\n"
"cpu model\t: %s\n"
"cache size\t: %d kB\n"
"fpu\t\t: %s\n"
@@ -283,4 +262,28 @@
(loops_per_jiffy * HZ + 500) / 500000,
((loops_per_jiffy * HZ + 500) / 5000) % 100);
}
+
+static void *c_start(struct seq_file *m, loff_t *pos)
+{
+ /* We only got one CPU... */
+ return *pos < 1 ? (void *)1 : NULL;
+}
+
+static void *c_next(struct seq_file *m, void *v, loff_t *pos)
+{
+ ++*pos;
+ return NULL;
+}
+
+static void c_stop(struct seq_file *m, void *v)
+{
+}
+
+struct seq_operations cpuinfo_op = {
+ start: c_start,
+ next: c_next,
+ stop: c_stop,
+ show: show_cpuinfo,
+};
+
#endif /* CONFIG_PROC_FS */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)