]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - arch/powerpc/kernel/misc_64.S
powerpc/watchdog: Improve watchdog lock primitive
[karo-tx-linux.git] / arch / powerpc / kernel / misc_64.S
index c119044cad0d58e94bb0d4a7557ed27da8f7a390..8ac0bd2bddb0c93b95dccfd61807807219913b5e 100644 (file)
@@ -614,6 +614,18 @@ _GLOBAL(kexec_sequence)
        li      r0,0
        std     r0,16(r1)
 
+BEGIN_FTR_SECTION
+       /*
+        * This is the best time to turn AMR/IAMR off.
+        * key 0 is used in radix for supervisor<->user
+        * protection, but on hash key 0 is reserved
+        * ideally we want to enter with a clean state.
+        * NOTE, we rely on r0 being 0 from above.
+        */
+       mtspr   SPRN_IAMR,r0
+       mtspr   SPRN_AMOR,r0
+END_FTR_SECTION_IFSET(CPU_FTR_ARCH_300)
+
        /* save regs for local vars on new stack.
         * yes, we won't go back, but ...
         */