提交 15ad838d 编写于 作者: T Thomas Bogendoerfer 提交者: Ralf Baechle

[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: NThomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
上级 d85714d8
......@@ -27,16 +27,6 @@
#include <kernel-entry-init.h>
.macro ARC64_TWIDDLE_PC
#if defined(CONFIG_ARC64) || defined(CONFIG_MAPPED_KERNEL)
/* We get launched at a XKPHYS address but the kernel is linked to
run at a KSEG0 address, so jump there. */
PTR_LA t0, \@f
jr t0
\@:
#endif
.endm
/*
* inputs are the text nasid in t1, data nasid in t2.
*/
......@@ -157,7 +147,11 @@ NESTED(kernel_entry, 16, sp) # kernel entry point
setup_c0_status_pri
ARC64_TWIDDLE_PC
/* We might not get launched at the address the kernel is linked to,
so we jump there. */
PTR_LA t0, 0f
jr t0
0:
#ifdef CONFIG_MIPS_MT_SMTC
/*
......
......@@ -46,7 +46,14 @@
lh t1, KV_RO_NASID_OFFSET(t0)
lh t2, KV_RW_NASID_OFFSET(t0)
MAPPED_KERNEL_SETUP_TLB
ARC64_TWIDDLE_PC
/*
* We might not get launched at the address the kernel is linked to,
* so we jump there.
*/
PTR_LA t0, 0f
jr t0
0:
.endm
#endif /* __ASM_MACH_IP27_KERNEL_ENTRY_H */
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册