mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-13 00:29:50 +00:00
[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>
This commit is contained in:
parent
d85714d81c
commit
15ad838d28
@ -27,16 +27,6 @@
|
|||||||
|
|
||||||
#include <kernel-entry-init.h>
|
#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.
|
* 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
|
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
|
#ifdef CONFIG_MIPS_MT_SMTC
|
||||||
/*
|
/*
|
||||||
|
@ -46,7 +46,14 @@
|
|||||||
lh t1, KV_RO_NASID_OFFSET(t0)
|
lh t1, KV_RO_NASID_OFFSET(t0)
|
||||||
lh t2, KV_RW_NASID_OFFSET(t0)
|
lh t2, KV_RW_NASID_OFFSET(t0)
|
||||||
MAPPED_KERNEL_SETUP_TLB
|
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
|
.endm
|
||||||
|
|
||||||
#endif /* __ASM_MACH_IP27_KERNEL_ENTRY_H */
|
#endif /* __ASM_MACH_IP27_KERNEL_ENTRY_H */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user