Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=15ad838d281b3681d96e37cba8a628177da8f4ff
Commit:     15ad838d281b3681d96e37cba8a628177da8f4ff
Parent:     d85714d81cc0408daddb68c10f7fd69eafe7c213
Author:     Thomas Bogendoerfer <[EMAIL PROTECTED]>
AuthorDate: Thu Sep 13 20:23:48 2007 +0200
Committer:  Ralf Baechle <[EMAIL PROTECTED]>
CommitDate: Thu Oct 18 18:11:46 2007 +0100

    [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 <[EMAIL PROTECTED]>
    Signed-off-by: Ralf Baechle <[EMAIL PROTECTED]>
---
 arch/mips/kernel/head.S                        |   16 +++++-----------
 include/asm-mips/mach-ip27/kernel-entry-init.h |    9 ++++++++-
 2 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/arch/mips/kernel/head.S b/arch/mips/kernel/head.S
index bf164a5..2367687 100644
--- a/arch/mips/kernel/head.S
+++ b/arch/mips/kernel/head.S
@@ -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, [EMAIL PROTECTED]
-       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
        /*
diff --git a/include/asm-mips/mach-ip27/kernel-entry-init.h 
b/include/asm-mips/mach-ip27/kernel-entry-init.h
index c1a1031..624d66c 100644
--- a/include/asm-mips/mach-ip27/kernel-entry-init.h
+++ b/include/asm-mips/mach-ip27/kernel-entry-init.h
@@ -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 */
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to