diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-06-06 23:40:17 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-06-06 23:40:17 +0000 |
commit | 11b69ef72c58ca6e230af3dce5e16dedd907d21e (patch) | |
tree | 1acf86d070940b02a3682b4744fa518e69ccd7b7 /arch/mips64/kernel | |
parent | 335aa2be513556ef9bf9db05976e43af2fff2018 (diff) |
*** empty log message ***
Diffstat (limited to 'arch/mips64/kernel')
-rw-r--r-- | arch/mips64/kernel/head.S | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/arch/mips64/kernel/head.S b/arch/mips64/kernel/head.S index e9dfb8e05..87db8483d 100644 --- a/arch/mips64/kernel/head.S +++ b/arch/mips64/kernel/head.S @@ -1,5 +1,4 @@ -/* $Id: head.S,v 1.6 2000/03/27 21:05:04 ulfc Exp $ - * +/* * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive * for more details. @@ -21,6 +20,16 @@ #include <asm/stackframe.h> #include <asm/pgtable.h> + .macro ARC64_TWIDDLE_PC +#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, \@f + jr t0 +\@: +#endif + .endm + .text EXPORT(stext) # used for profiling @@ -35,11 +44,7 @@ NESTED(kernel_entry, 16, sp) # kernel entry point jal mapped_kernel_setup_tlb -#ifdef CONFIG_ARC64 - la t0, 1f - jr t0 -1: -#endif + ARC64_TWIDDLE_PC /* Note that all firmware passed argument registers still have their values. */ @@ -103,11 +108,7 @@ NESTED(mapped_kernel_setup_tlb, 16, sp) NESTED(bootstrap, 16, sp) jal mapped_kernel_setup_tlb -#ifdef CONFIG_ARC64 - la t0, 1f - jr t0 -1: -#endif + ARC64_TWIDDLE_PC CLI mfc0 t0, CP0_STATUS li t1, ~(ST0_CU1|ST0_CU2|ST0_CU3) |