Messages in this thread Patch in this message |  | | | From | Michal Simek <> | | Subject | [PATCH 23/29] microblaze_mmu_v2: Update signal returning address | | Date | Wed, 27 May 2009 08:47:48 +0200 |
| |
Signed-off-by: Michal Simek <monstr@monstr.eu> --- arch/microblaze/kernel/signal.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/arch/microblaze/kernel/signal.c b/arch/microblaze/kernel/signal.c index 3cdcbfe..4c0e652 100644 --- a/arch/microblaze/kernel/signal.c +++ b/arch/microblaze/kernel/signal.c @@ -388,7 +388,15 @@ handle_restart(struct pt_regs *regs, struct k_sigaction *ka, int has_handler) case -ERESTARTNOINTR: do_restart: /* offset of 4 bytes to re-execute trap (brki) instruction */ +#ifndef CONFIG_MMU regs->pc -= 4; +#else + /* offset of 8 bytes required = 4 for rtbd + offset, plus 4 for size of + "brki r14,8" + instruction. */ + regs->pc -= 8; +#endif break; } } -- 1.5.5.1
|  |