Re: [PATCH] microblaze: nommu: Don't clobber R11 on syscalls

From: Michal Simek
Date: Thu Dec 10 2009 - 02:32:34 EST


Hi Steve,

steve@xxxxxxxxxxxxxxx wrote:
The noMMU syscall trap has a bug that causes R11 to be zero on return to userland. Remove the extra "save" of R11 responsible for the bug.

Can you please look if is even possible to remove that one line below?
( I mean line 212 - lwi r11, r0, PER_CPU(KM) */
Interrupt rutine don't have it too. I am pretty sure that we can remove that line too.

Thanks for testing,
Michal



Signed-off-by: Steven J. Magnani <steve@xxxxxxxxxxxxxxx>
---
diff -uprN a/arch/microblaze/kernel/entry-nommu.S b/arch/microblaze/kernel/entry-nommu.S
--- a/arch/microblaze/kernel/entry-nommu.S 2009-12-09 17:05:11.000000000 -0600
+++ b/arch/microblaze/kernel/entry-nommu.S 2009-12-09 17:07:31.000000000 -0600
@@ -208,7 +208,6 @@ ENTRY(_user_exception)
lwi r1, r1, TS_THREAD_INFO /* get the thread info */
/* calculate kernel stack pointer */
addik r1, r1, THREAD_SIZE - PT_SIZE
- swi r11, r0, PER_CPU(R11_SAVE) /* temporarily save r11 */
lwi r11, r0, PER_CPU(KM) /* load mode indicator */
2:
swi r11, r1, PT_MODE /* store the mode */



--
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/
Microblaze U-BOOT custodian
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/