aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/kernel/tt/syscall_user.c
diff options
context:
space:
mode:
authorBodo Stroesser <bstroesser@fujitsu-siemens.com>2005-05-06 21:30:49 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-05-06 22:09:29 -0700
commit804c2415c9182b95719cdf85913f6313f7ac042a (patch)
treeb798fc9def1316b4cbee16d99120832dfe2a8c52 /arch/um/kernel/tt/syscall_user.c
parent[PATCH] uml: S390 preparation, peekusr/pokeusr defined by subarch (diff)
downloadlinux-dev-804c2415c9182b95719cdf85913f6313f7ac042a.tar.xz
linux-dev-804c2415c9182b95719cdf85913f6313f7ac042a.zip
[PATCH] uml: S390 preparation, save an extra register
s390 tt-mode needs to save not only syscall number, but an further register also. Signed-off-by: Bodo Stroesser <bstroesser@fujitsu-siemens.com> Signed-off-by: Jeff Dike <jdike@addtoit.com> Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to '')
-rw-r--r--arch/um/kernel/tt/syscall_user.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/um/kernel/tt/syscall_user.c b/arch/um/kernel/tt/syscall_user.c
index e4e7e9c2224c..b218316cfdb2 100644
--- a/arch/um/kernel/tt/syscall_user.c
+++ b/arch/um/kernel/tt/syscall_user.c
@@ -63,6 +63,10 @@ void do_syscall(void *task, int pid, int local_using_sysemu)
UPT_SYSCALL_NR(TASK_REGS(task)) = PT_SYSCALL_NR(proc_regs);
+#ifdef UPT_ORIGGPR2
+ UPT_ORIGGPR2(TASK_REGS(task)) = REGS_ORIGGPR2(proc_regs);
+#endif
+
if(((unsigned long *) PT_IP(proc_regs) >= &_stext) &&
((unsigned long *) PT_IP(proc_regs) <= &_etext))
tracer_panic("I'm tracing myself and I can't get out");