浏览代码

microblaze_mmu_v2: Update signal returning address

Signed-off-by: Michal Simek <monstr@monstr.eu>
Michal Simek 16 年之前
父节点
当前提交
8b28626a6b
共有 1 个文件被更改,包括 8 次插入0 次删除
  1. 8 0
      arch/microblaze/kernel/signal.c

+ 8 - 0
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;
 	}
 }