summaryrefslogtreecommitdiffstats
path: root/linux-user/syscall.c
diff options
context:
space:
mode:
authorths2007-05-13 15:58:00 +0200
committerths2007-05-13 15:58:00 +0200
commit388bb21af622a413cc37f6df1f3ac5a92e951760 (patch)
treee714421ffbe16fe3bcbb7d6a48fdd47c6f2427cd /linux-user/syscall.c
parentMIPS TLB style selection at runtime, by Herve Poussineau. (diff)
downloadqemu-388bb21af622a413cc37f6df1f3ac5a92e951760.tar.gz
qemu-388bb21af622a413cc37f6df1f3ac5a92e951760.tar.xz
qemu-388bb21af622a413cc37f6df1f3ac5a92e951760.zip
MIPS linux-user update.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2810 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'linux-user/syscall.c')
-rw-r--r--linux-user/syscall.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 78d8dfaa8c..abefe856bb 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -1750,7 +1750,9 @@ int do_fork(CPUState *env, unsigned int flags, unsigned long newsp)
new_env->dregs[0] = 0;
/* ??? is this sufficient? */
#elif defined(TARGET_MIPS)
- printf ("HELPME: %s:%d\n", __FILE__, __LINE__);
+ if (!newsp)
+ newsp = env->gpr[29];
+ new_env->gpr[29] = newsp;
#elif defined(TARGET_PPC)
if (!newsp)
newsp = env->gpr[1];
@@ -2429,7 +2431,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3,
#ifdef TARGET_NR_sigaction
case TARGET_NR_sigaction:
{
- #if !defined(TARGET_MIPS)
+#if !defined(TARGET_MIPS)
struct target_old_sigaction *old_act;
struct target_sigaction act, oact, *pact;
if (arg2) {
@@ -2452,7 +2454,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3,
old_act->sa_restorer = oact.sa_restorer;
unlock_user_struct(old_act, arg3, 1);
}
- #else
+#else
struct target_sigaction act, oact, *pact, *old_act;
if (arg2) {
@@ -2478,7 +2480,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3,
old_act->sa_mask.sig[3] = 0;
unlock_user_struct(old_act, arg3, 1);
}
- #endif
+#endif
}
break;
#endif