Blackfin: fix command line corruption with DEBUG_DOUBLEFAULT
authorMike Frysinger <vapier@gentoo.org>
Tue, 26 May 2009 21:48:38 +0000 (21:48 +0000)
committerMike Frysinger <vapier@gentoo.org>
Fri, 12 Jun 2009 10:11:52 +0000 (06:11 -0400)
Commit 6b3087c6 (which introduced Blackfin SMP) broke command line passing
when the DEBUG_DOUBLEFAULT config option was enabled.  Switch the code to
using a scratch register and not R7 which holds the command line.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
arch/blackfin/mach-common/head.S

index 01d62ff3cd28efd555757e9e8b7f6bea0e5488f2..f826f6b9f917e168e31ef84604549424745015c7 100644 (file)
@@ -124,25 +124,25 @@ ENTRY(__start)
         * below
         */
        GET_PDA(p0, r0);
-       r7 = [p0 + PDA_RETX];
+       r6 = [p0 + PDA_RETX];
        p1.l = _init_saved_retx;
        p1.h = _init_saved_retx;
-       [p1] = r7;
+       [p1] = r6;
 
-       r7 = [p0 + PDA_DCPLB];
+       r6 = [p0 + PDA_DCPLB];
        p1.l = _init_saved_dcplb_fault_addr;
        p1.h = _init_saved_dcplb_fault_addr;
-       [p1] = r7;
+       [p1] = r6;
 
-       r7 = [p0 + PDA_ICPLB];
+       r6 = [p0 + PDA_ICPLB];
        p1.l = _init_saved_icplb_fault_addr;
        p1.h = _init_saved_icplb_fault_addr;
-       [p1] = r7;
+       [p1] = r6;
 
-       r7 = [p0 + PDA_SEQSTAT];
+       r6 = [p0 + PDA_SEQSTAT];
        p1.l = _init_saved_seqstat;
        p1.h = _init_saved_seqstat;
-       [p1] = r7;
+       [p1] = r6;
 #endif
 
        /* Initialize stack pointer */