summaryrefslogtreecommitdiffstats
path: root/arch/mips
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1997-07-01 08:51:00 +0000
committerRalf Baechle <ralf@linux-mips.org>1997-07-01 08:51:00 +0000
commitf6e99e19dd9306a7d02db30c6dce06717598507d (patch)
treed9b0a282149cbfcab4ab27e6231963205c9e4119 /arch/mips
parentcc32ff645cc4c7a2fb88c11bdb35604e279df04b (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.S3
-rw-r--r--arch/mips/sgi/kernel/setup.c4
-rw-r--r--arch/mips/sgi/kernel/system.c8
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;