summaryrefslogtreecommitdiff
path: root/linux-user/main.c
diff options
context:
space:
mode:
authorAnthony Liguori <aliguori@us.ibm.com>2011-06-27 11:26:47 -0500
committerAnthony Liguori <aliguori@us.ibm.com>2011-06-27 11:26:47 -0500
commitcd59dd8734bebe5bd06be8a3fa79a9f4facf6633 (patch)
treee533ec4ccc42112dd6a297ed431350e35c49c4bf /linux-user/main.c
parentbb820c03e2d638038fd48f42ee71e4004e55aba8 (diff)
parentbfcedc572bb77f3d21cd3a297b4215389a2f7df4 (diff)
downloadqemu-cd59dd8734bebe5bd06be8a3fa79a9f4facf6633.tar.gz
Merge remote-tracking branch 'riku/linux-user-for-upstream' into staging
Diffstat (limited to 'linux-user/main.c')
-rw-r--r--linux-user/main.c37
1 files changed, 24 insertions, 13 deletions
diff --git a/linux-user/main.c b/linux-user/main.c
index 1c91c30dcb..db5577bc50 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
@@ -318,7 +318,8 @@ void cpu_loop(CPUX86State *env)
env->regs[R_EDX],
env->regs[R_ESI],
env->regs[R_EDI],
- env->regs[R_EBP]);
+ env->regs[R_EBP],
+ 0, 0);
break;
#ifndef TARGET_ABI32
case EXCP_SYSCALL:
@@ -330,7 +331,8 @@ void cpu_loop(CPUX86State *env)
env->regs[R_EDX],
env->regs[10],
env->regs[8],
- env->regs[9]);
+ env->regs[9],
+ 0, 0);
env->eip = env->exception_next_eip;
break;
#endif
@@ -734,7 +736,8 @@ void cpu_loop(CPUARMState *env)
env->regs[2],
env->regs[3],
env->regs[4],
- env->regs[5]);
+ env->regs[5],
+ 0, 0);
}
} else {
goto error;
@@ -830,7 +833,8 @@ void cpu_loop(CPUState *env)
env->regs[2],
env->regs[3],
env->regs[4],
- env->regs[5]);
+ env->regs[5],
+ 0, 0);
}
} else {
goto error;
@@ -1017,7 +1021,8 @@ void cpu_loop (CPUSPARCState *env)
ret = do_syscall (env, env->gregs[1],
env->regwptr[0], env->regwptr[1],
env->regwptr[2], env->regwptr[3],
- env->regwptr[4], env->regwptr[5]);
+ env->regwptr[4], env->regwptr[5],
+ 0, 0);
if ((abi_ulong)ret >= (abi_ulong)(-515)) {
#if defined(TARGET_SPARC64) && !defined(TARGET_ABI32)
env->xcc |= PSR_CARRY;
@@ -1610,7 +1615,7 @@ void cpu_loop(CPUPPCState *env)
env->crf[0] &= ~0x1;
ret = do_syscall(env, env->gpr[0], env->gpr[3], env->gpr[4],
env->gpr[5], env->gpr[6], env->gpr[7],
- env->gpr[8]);
+ env->gpr[8], 0, 0);
if (ret == (uint32_t)(-TARGET_QEMU_ESIGRETURN)) {
/* Returning from a successful sigreturn syscall.
Avoid corrupting register state. */
@@ -2071,7 +2076,7 @@ void cpu_loop(CPUMIPSState *env)
env->active_tc.gpr[5],
env->active_tc.gpr[6],
env->active_tc.gpr[7],
- arg5, arg6/*, arg7, arg8*/);
+ arg5, arg6, arg7, arg8);
}
if (ret == -TARGET_QEMU_ESIGRETURN) {
/* Returning from a successful sigreturn syscall.
@@ -2159,7 +2164,8 @@ void cpu_loop (CPUState *env)
env->gregs[6],
env->gregs[7],
env->gregs[0],
- env->gregs[1]);
+ env->gregs[1],
+ 0, 0);
env->gregs[0] = ret;
break;
case EXCP_INTERRUPT:
@@ -2228,7 +2234,8 @@ void cpu_loop (CPUState *env)
env->regs[12],
env->regs[13],
env->pregs[7],
- env->pregs[11]);
+ env->pregs[11],
+ 0, 0);
env->regs[10] = ret;
break;
case EXCP_DEBUG:
@@ -2287,7 +2294,8 @@ void cpu_loop (CPUState *env)
env->regs[7],
env->regs[8],
env->regs[9],
- env->regs[10]);
+ env->regs[10],
+ 0, 0);
env->regs[3] = ret;
env->sregs[SR_PC] = env->regs[14];
break;
@@ -2397,7 +2405,8 @@ void cpu_loop(CPUM68KState *env)
env->dregs[3],
env->dregs[4],
env->dregs[5],
- env->aregs[0]);
+ env->aregs[0],
+ 0, 0);
}
break;
case EXCP_INTERRUPT:
@@ -2575,7 +2584,8 @@ void cpu_loop (CPUState *env)
sysret = do_syscall(env, trapnr,
env->ir[IR_A0], env->ir[IR_A1],
env->ir[IR_A2], env->ir[IR_A3],
- env->ir[IR_A4], env->ir[IR_A5]);
+ env->ir[IR_A4], env->ir[IR_A5],
+ 0, 0);
if (trapnr == TARGET_NR_sigreturn
|| trapnr == TARGET_NR_rt_sigreturn) {
break;
@@ -2706,7 +2716,8 @@ void cpu_loop(CPUS390XState *env)
env->regs[4],
env->regs[5],
env->regs[6],
- env->regs[7]);
+ env->regs[7],
+ 0, 0);
}
break;
case EXCP_ADDR: