summaryrefslogtreecommitdiffstats
path: root/arch/mips64/kernel/head.S
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-01-17 23:32:45 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-01-17 23:32:45 +0000
commitbb382d1cd598a97151a0edf5ac26e36afb0a64ce (patch)
treefd9f0ca1b31e5af2faa0d7165e6fd0fbb5524ebf /arch/mips64/kernel/head.S
parentaf38bda129551834653720f277a920d7d284bd3d (diff)
- IOC3 driver now will panic when encountering a RX/TX PCI DMA error.
- IOC3 driver does no longer use GFP_DMA which given the _very_ small number of available GFP_DMA pages might have deadlocked the system. - First cut of Origin support. Last minute change: Do no longer use ARC memory / MD hub memory configuration information but klconfig.h stuff. Simpler, faster, shorter. - Zillions of MIPS64 fixes.
Diffstat (limited to 'arch/mips64/kernel/head.S')
-rw-r--r--arch/mips64/kernel/head.S13
1 files changed, 11 insertions, 2 deletions
diff --git a/arch/mips64/kernel/head.S b/arch/mips64/kernel/head.S
index daa0e3ad1..98718e93c 100644
--- a/arch/mips64/kernel/head.S
+++ b/arch/mips64/kernel/head.S
@@ -12,6 +12,7 @@
* Copyright (C) 1999 Silicon Graphics, Inc.
*/
#define __ASSEMBLY__
+#include <linux/config.h>
#include <linux/init.h>
#include <asm/asm.h>
#include <asm/regdef.h>
@@ -28,6 +29,14 @@ EXPORT(_stext)
NESTED(kernel_entry, 16, sp) # kernel entry point
+#ifdef CONFIG_ARC64
+ /* We get launched at a XKPHYS address but the kernel is linked to
+ run at a KSEG0 address, so jump there. */
+ la t0, 1f
+ jr t0
+1:
+#endif
+
ori sp, 0xf # align stack on 16 byte.
xori sp, 0xf
@@ -38,9 +47,9 @@ NESTED(kernel_entry, 16, sp) # kernel entry point
CLI # disable interrupts
mfc0 t0, CP0_STATUS
- li t1, ~(ST0_CU1|ST0_CU2|ST0_CU3|ST0_KX|ST0_SX)
+ li t1, ~(ST0_CU1|ST0_CU2|ST0_CU3)
and t0, t1
- or t0, ST0_CU0
+ or t0, (ST0_CU0|ST0_KX|ST0_SX)
mtc0 t0, CP0_STATUS
la $28, init_task_union # init current pointer