diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1997-07-01 08:51:00 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1997-07-01 08:51:00 +0000 |
commit | f6e99e19dd9306a7d02db30c6dce06717598507d (patch) | |
tree | d9b0a282149cbfcab4ab27e6231963205c9e4119 /arch/mips | |
parent | cc32ff645cc4c7a2fb88c11bdb35604e279df04b (diff) |
The crappy firmware may explode on us when we call it with
SCACHE cache enabled, so we read out the ARCS configuration
data as early as possible.
Diffstat (limited to 'arch/mips')
-rw-r--r-- | arch/mips/kernel/head.S | 3 | ||||
-rw-r--r-- | arch/mips/sgi/kernel/setup.c | 4 | ||||
-rw-r--r-- | arch/mips/sgi/kernel/system.c | 8 |
3 files changed, 10 insertions, 5 deletions
diff --git a/arch/mips/kernel/head.S b/arch/mips/kernel/head.S index 27c700a95..3251c89d9 100644 --- a/arch/mips/kernel/head.S +++ b/arch/mips/kernel/head.S @@ -347,6 +347,8 @@ probe_done: jal prom_init /* prom_init(argc, argv, envp); */ nop + jal sgi_sysinit + nop #endif /* Get the very one tags we need early in the boot process */ nop @@ -405,7 +407,6 @@ probe_done: mfc0 t0, CP0_STATUS li t1, ~(ST0_CU1|ST0_CU2|ST0_CU3|ST0_KX|ST0_SX) and t0, t1 - li t1, ST0_CU0 or t0, ST0_CU0 mtc0 t0, CP0_STATUS diff --git a/arch/mips/sgi/kernel/setup.c b/arch/mips/sgi/kernel/setup.c index e0482e116..f3e329656 100644 --- a/arch/mips/sgi/kernel/setup.c +++ b/arch/mips/sgi/kernel/setup.c @@ -1,4 +1,4 @@ -/* $Id: setup.c,v 1.11 1996/06/29 07:06:51 dm Exp $ +/* $Id: setup.c,v 1.2 1997/06/28 22:47:44 ralf Exp $ * setup.c: SGI specific setup, including init of the feature struct. * * Copyright (C) 1996 David S. Miller (dm@engr.sgi.com) @@ -59,8 +59,6 @@ void sgi_setup(void) /* register_console(sgi_print); */ - sgi_sysinit(); - /* Init the INDY HPC I/O controller. Need to call this before * fucking with the memory controller because it needs to know the * boardID and whether this is a Guiness or a FullHouse machine. diff --git a/arch/mips/sgi/kernel/system.c b/arch/mips/sgi/kernel/system.c index 051ad09c5..543fe82f2 100644 --- a/arch/mips/sgi/kernel/system.c +++ b/arch/mips/sgi/kernel/system.c @@ -1,7 +1,9 @@ -/* $Id: system.c,v 1.2 1996/06/10 16:38:32 dm Exp $ +/* * system.c: Probe the system type using ARCS prom interface library. * * Copyright (C) 1996 David S. Miller (dm@engr.sgi.com) + * + * $Id: system.c,v 1.2 1997/06/28 22:47:45 ralf Exp $ */ #include <linux/kernel.h> #include <linux/types.h> @@ -88,6 +90,10 @@ static int string_to_cpu(char *s) return 0; } +/* + * We' call this early before loadmmu(). If we do the other way around + * the firmware will crash and burn. + */ void sgi_sysinit(void) { pcomponent *p, *toplev, *cpup = 0; |