microblaze: Clear sticky FSR register after saving it to func parametr
authorMichal Simek <monstr@monstr.eu>
Mon, 28 Sep 2009 06:50:53 +0000 (08:50 +0200)
committerMichal Simek <monstr@monstr.eu>
Mon, 5 Oct 2009 09:37:47 +0000 (11:37 +0200)
Previous patch d63678d607d0e37ec7abe5ceb545d7e8aab956a4 clear
it for noMMU kernel. This one do it for MMU.

Correct noMMU version

Signed-off-by: Michal Simek <monstr@monstr.eu>
arch/microblaze/kernel/entry.S
arch/microblaze/kernel/hw_exception_handler.S

index acc1f05d1e2c04665f2224d91bb9d61bb9929e48..e3ecb36dd554ebc3504e08ac369a29359e8c304f 100644 (file)
@@ -592,6 +592,8 @@ C_ENTRY(full_exception_trap):
        nop
        mfs     r7, rfsr;               /* save FSR */
        nop
+       mts     rfsr, r0;       /* Clear sticky fsr */
+       nop
        la      r12, r0, full_exception
        set_vms;
        rtbd    r12, 0;
index 6b0288ebccd6674c21c9ed0bee8a095903507412..2b86c03aa84187cb5857974fba2cb949e349ce93 100644 (file)
@@ -384,7 +384,7 @@ handle_other_ex: /* Handle Other exceptions here */
        addk    r8, r17, r0; /* Load exception address */
        bralid  r15, full_exception; /* Branch to the handler */
        nop;
-       mts     r0, rfsr;       /* Clear sticky fsr */
+       mts     rfsr, r0;       /* Clear sticky fsr */
        nop
 
        /*