microblaze: Remove saving and restoring before calling signal code
authorMichal Simek <monstr@monstr.eu>
Fri, 13 Nov 2009 07:26:49 +0000 (08:26 +0100)
committerMichal Simek <monstr@monstr.eu>
Mon, 14 Dec 2009 07:44:55 +0000 (08:44 +0100)
Saving is done in SAVE_STATE macros that's why another save discard
previous saved value.

This change has no effect to normal programs because they ends in any exception
and they are killed. On the other side has effect on debugging.

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

index e3ecb36..7417d9a 100644 (file)
@@ -711,15 +711,11 @@ C_ENTRY(ret_from_exc):
         * (in a possibly modified form) after do_signal returns.
         * store return registers separately because this macros is use
         * for others exceptions */
-       swi     r3, r1, PTO + PT_R3;
-       swi     r4, r1, PTO + PT_R4;
        la      r5, r1, PTO;            /* Arg 1: struct pt_regs *regs */
        add     r6, r0, r0;             /* Arg 2: sigset_t *oldset */
        addi    r7, r0, 0;              /* Arg 3: int in_syscall */
        bralid  r15, do_signal; /* Handle any signals */
        nop;
-       lwi     r3, r1, PTO+PT_R3; /* restore saved r3, r4 registers */
-       lwi     r4, r1, PTO+PT_R4;
 
 /* Finally, return to user state.  */
 1:     swi     r0, r0, PER_CPU(KM);    /* Now officially in user state. */