Browse Source

microblaze: Clear return value in pt_regs

Signal code uses r3 value which saved in restore_sigcontext to
rt_sigframe but it require to be zeroed. If is not zero rt_sigframe
contains wrong values.

Signed-off-by: Michal Simek <monstr@monstr.eu>
Michal Simek 15 years ago
parent
commit
7d4320956f
1 changed files with 2 additions and 0 deletions
  1. 2 0
      arch/microblaze/kernel/entry.S

+ 2 - 0
arch/microblaze/kernel/entry.S

@@ -295,6 +295,8 @@ C_ENTRY(_user_exception):
 	/* addik	r1, r1, -STATE_SAVE_SIZE; */
 	addik r1, r1, THREAD_SIZE + CONFIG_KERNEL_BASE_ADDR - CONFIG_KERNEL_START - STATE_SAVE_SIZE;
 	SAVE_REGS
+	swi	r0, r1, PTO + PT_R3
+	swi	r0, r1, PTO + PT_R4
 
 	lwi	r11, r0, TOPHYS(PER_CPU(ENTRY_SP));
 	swi	r11, r1, PTO+PT_R1;		/* Store user SP.  */