diff options
author | Blue Swirl <blauwirbel@gmail.com> | 2009-11-07 16:34:12 +0000 |
---|---|---|
committer | Blue Swirl <blauwirbel@gmail.com> | 2009-11-07 16:34:12 +0000 |
commit | b4558d7481aefc865b0b52bf9b285ebcf2e8b59f (patch) | |
tree | 2155e2db703ec3d511fa81a6eee4f333a18ceed6 /linux-user | |
parent | 4a6435639781214a14f3c6054955e5ef16298d72 (diff) |
(x86/Sparc/PPC)-user: fix cpu_copy
b55a37c981914aa8ecd21b9a2a2fb37f39b917c5 moved the call to cpu_reset
to user emulators. But cpu_copy also initializes a CPU structure, so add the
call also there.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'linux-user')
-rw-r--r-- | linux-user/syscall.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 0254226a42..e38552ca1c 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -3553,6 +3553,9 @@ static int do_fork(CPUState *env, unsigned int flags, abi_ulong newsp, new_stack = ts->stack; /* we create a new CPU instance. */ new_env = cpu_copy(env); +#if defined(TARGET_I386) || defined(TARGET_SPARC) || defined(TARGET_PPC) + cpu_reset(new_env); +#endif /* Init regs that differ from the parent. */ cpu_clone_regs(new_env, newsp); new_env->opaque = ts; |