aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/kernel/head.S
diff options
context:
space:
mode:
authorThomas Bogendoerfer <tsbogend@alpha.franken.de>2007-09-13 14:23:48 -0400
committerRalf Baechle <ralf@linux-mips.org>2007-10-18 13:11:46 -0400
commit15ad838d281b3681d96e37cba8a628177da8f4ff (patch)
tree655606a3de4a688ac5b409e7986ceb20b8c258c0 /arch/mips/kernel/head.S
parentd85714d81cc0408daddb68c10f7fd69eafe7c213 (diff)
[MIPS] Always do the ARC64_TWIDDLE_PC thing.
Always jump to the place where the kernel is linked to. This helps where the bootloaders/proms ignores the start address inside the ELF header. Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/kernel/head.S')
-rw-r--r--arch/mips/kernel/head.S16
1 files changed, 5 insertions, 11 deletions
diff --git a/arch/mips/kernel/head.S b/arch/mips/kernel/head.S
index bf164a562ac..23676873106 100644
--- a/arch/mips/kernel/head.S
+++ b/arch/mips/kernel/head.S
@@ -27,16 +27,6 @@
27 27
28#include <kernel-entry-init.h> 28#include <kernel-entry-init.h>
29 29
30 .macro ARC64_TWIDDLE_PC
31#if defined(CONFIG_ARC64) || defined(CONFIG_MAPPED_KERNEL)
32 /* We get launched at a XKPHYS address but the kernel is linked to
33 run at a KSEG0 address, so jump there. */
34 PTR_LA t0, \@f
35 jr t0
36\@:
37#endif
38 .endm
39
40 /* 30 /*
41 * inputs are the text nasid in t1, data nasid in t2. 31 * inputs are the text nasid in t1, data nasid in t2.
42 */ 32 */
@@ -157,7 +147,11 @@ NESTED(kernel_entry, 16, sp) # kernel entry point
157 147
158 setup_c0_status_pri 148 setup_c0_status_pri
159 149
160 ARC64_TWIDDLE_PC 150 /* We might not get launched at the address the kernel is linked to,
151 so we jump there. */
152 PTR_LA t0, 0f
153 jr t0
1540:
161 155
162#ifdef CONFIG_MIPS_MT_SMTC 156#ifdef CONFIG_MIPS_MT_SMTC
163 /* 157 /*