]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/powerpc/kernel/entry_64.S
[PATCH] x86/powerpc make hardirq_ctx and softirq_ctx __read_mostly
[karo-tx-linux.git] / arch / powerpc / kernel / entry_64.S
index 1060155d84c3f3aa035fad42097f49ca37d7c100..221062c960c99ae23578e8942ee668e9214d27f0 100644 (file)
@@ -57,6 +57,7 @@ system_call_common:
        beq-    1f
        ld      r1,PACAKSAVE(r13)
 1:     std     r10,0(r1)
+       crclr   so
        std     r11,_NIP(r1)
        std     r12,_MSR(r1)
        std     r0,GPR0(r1)
@@ -75,7 +76,6 @@ system_call_common:
        std     r11,GPR11(r1)
        std     r11,GPR12(r1)
        std     r9,GPR13(r1)
-       crclr   so
        mfcr    r9
        mflr    r10
        li      r11,0xc01
@@ -617,6 +617,12 @@ _GLOBAL(enter_rtas)
        mfsrr1  r10
        std     r10,_SRR1(r1)
 
+       /* Temporary workaround to clear CR until RTAS can be modified to
+        * ignore all bits.
+        */
+       li      r0,0
+       mtcr    r0
+
        /* There is no way it is acceptable to get here with interrupts enabled,
         * check it with the asm equivalent of WARN_ON
         */