diff options
author | Michal Simek <monstr@monstr.eu> | 2009-11-13 02:26:49 -0500 |
---|---|---|
committer | Michal Simek <monstr@monstr.eu> | 2009-12-14 02:44:55 -0500 |
commit | f7816e284b72820b295b2d377cc635d7305f6728 (patch) | |
tree | 055076ff17b771eb53105f3ab69ca0e5e95f2871 | |
parent | 5dd48a235c3f78620e582ebb253d64d02747d173 (diff) |
microblaze: Remove saving and restoring before calling signal code
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>
-rw-r--r-- | arch/microblaze/kernel/entry.S | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/arch/microblaze/kernel/entry.S b/arch/microblaze/kernel/entry.S index e3ecb36dd554..7417d9ad0d18 100644 --- a/arch/microblaze/kernel/entry.S +++ b/arch/microblaze/kernel/entry.S | |||
@@ -711,15 +711,11 @@ C_ENTRY(ret_from_exc): | |||
711 | * (in a possibly modified form) after do_signal returns. | 711 | * (in a possibly modified form) after do_signal returns. |
712 | * store return registers separately because this macros is use | 712 | * store return registers separately because this macros is use |
713 | * for others exceptions */ | 713 | * for others exceptions */ |
714 | swi r3, r1, PTO + PT_R3; | ||
715 | swi r4, r1, PTO + PT_R4; | ||
716 | la r5, r1, PTO; /* Arg 1: struct pt_regs *regs */ | 714 | la r5, r1, PTO; /* Arg 1: struct pt_regs *regs */ |
717 | add r6, r0, r0; /* Arg 2: sigset_t *oldset */ | 715 | add r6, r0, r0; /* Arg 2: sigset_t *oldset */ |
718 | addi r7, r0, 0; /* Arg 3: int in_syscall */ | 716 | addi r7, r0, 0; /* Arg 3: int in_syscall */ |
719 | bralid r15, do_signal; /* Handle any signals */ | 717 | bralid r15, do_signal; /* Handle any signals */ |
720 | nop; | 718 | nop; |
721 | lwi r3, r1, PTO+PT_R3; /* restore saved r3, r4 registers */ | ||
722 | lwi r4, r1, PTO+PT_R4; | ||
723 | 719 | ||
724 | /* Finally, return to user state. */ | 720 | /* Finally, return to user state. */ |
725 | 1: swi r0, r0, PER_CPU(KM); /* Now officially in user state. */ | 721 | 1: swi r0, r0, PER_CPU(KM); /* Now officially in user state. */ |