patch-2.4.19 linux-2.4.19/arch/mips64/sgi-ip22/system.c
Next file: linux-2.4.19/arch/mips64/sgi-ip22/time.c
Previous file: linux-2.4.19/arch/mips64/sgi-ip22/ip22-timer.c
Back to the patch index
Back to the overall index
- Lines: 124
- Date:
Wed Dec 31 16:00:00 1969
- Orig file:
linux-2.4.18/arch/mips64/sgi-ip22/system.c
- Orig date:
Sun Sep 9 10:43:02 2001
diff -urN linux-2.4.18/arch/mips64/sgi-ip22/system.c linux-2.4.19/arch/mips64/sgi-ip22/system.c
@@ -1,123 +0,0 @@
-/*
- * 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.
- *
- * system.c: Probe the system type using ARCS prom interface library.
- *
- * Copyright (C) 1996 David S. Miller (dm@engr.sgi.com)
- * Copyright (C) 2000, 2001 Ralf Baechle (ralf@gnu.org)
- */
-#include <linux/init.h>
-#include <linux/kernel.h>
-#include <linux/types.h>
-#include <linux/string.h>
-
-#include <asm/sgi/sgi.h>
-#include <asm/sgialib.h>
-#include <asm/bootinfo.h>
-
-struct smatch {
- char *name;
- int type;
-};
-
-static struct smatch sgi_cputable[] = {
- { "MIPS-R2000", CPU_R2000 },
- { "MIPS-R3000", CPU_R3000 },
- { "MIPS-R3000A", CPU_R3000A },
- { "MIPS-R4000", CPU_R4000SC },
- { "MIPS-R4400", CPU_R4400SC },
- { "MIPS-R4600", CPU_R4600 },
- { "MIPS-R8000", CPU_R8000 },
- { "MIPS-R5000", CPU_R5000 },
- { "MIPS-R5000A", CPU_R5000A }
-};
-
-#define NUM_CPUS 9 /* for now */
-
-static int __init string_to_cpu(char *s)
-{
- int i;
-
- for(i = 0; i < NUM_CPUS; i++) {
- if(!strcmp(s, sgi_cputable[i].name))
- return sgi_cputable[i].type;
- }
- panic("\nYeee, could not determine MIPS cpu type <%s>", s);
- return 0;
-}
-
-/*
- * We' call this early before loadmmu(). If we do the other way around
- * the firmware will crash and burn.
- */
-void __init sgi_sysinit(void)
-{
- pcomponent *p, *toplev, *cpup = 0;
- int cputype = -1;
-
-
- /* The root component tells us what machine architecture we
- * have here.
- */
- p = ArcGetChild(PROM_NULL_COMPONENT);
-
- /* Now scan for cpu(s). */
- toplev = p = ArcGetChild(p);
- while(p) {
- int ncpus = 0;
-
- if(p->type == Cpu) {
- if (++ncpus > 1)
- panic("\nYeee, SGI MP not ready yet");
- printk("CPU: %s ", p->iname);
- cpup = p;
- cputype = string_to_cpu(cpup->iname);
- }
- p = ArcGetPeer(p);
- }
- if (cputype == -1) {
- panic("\nYeee, could not find cpu ARCS component");
- }
- p = ArcGetChild(cpup);
- while(p) {
- switch(p->class) {
- case processor:
- switch(p->type) {
- case Fpu:
- printk("FPU<%s> ", p->iname);
- break;
-
- default:
- break;
- };
- break;
-
- case cache:
- switch(p->type) {
- case picache:
- printk("ICACHE ");
- break;
-
- case pdcache:
- printk("DCACHE ");
- break;
-
- case sccache:
- printk("SCACHE ");
- break;
-
- default:
- break;
-
- };
- break;
-
- default:
- break;
- };
- p = ArcGetPeer(p);
- }
- printk("\n");
-}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)