On 11.05.2012, at 13:26, Andreas Färber wrote: > Am 11.05.2012 13:22, schrieb Peter Maydell: >> On 10 May 2012 01:14, Andreas Färber <afaer...@suse.de> wrote: >>> Eliminates cpu_state_reset() usage. >>> >>> Signed-off-by: Andreas Färber <afaer...@suse.de> >>> --- >>> linux-user/main.c | 2 +- >>> linux-user/syscall.c | 2 +- >>> 2 files changed, 2 insertions(+), 2 deletions(-) >>> >>> diff --git a/linux-user/main.c b/linux-user/main.c >>> index 191b750..49108b8 100644 >>> --- a/linux-user/main.c >>> +++ b/linux-user/main.c >>> @@ -3405,7 +3405,7 @@ int main(int argc, char **argv, char **envp) >>> exit(1); >>> } >>> #if defined(TARGET_I386) || defined(TARGET_SPARC) || defined(TARGET_PPC) >>> - cpu_state_reset(env); >>> + cpu_reset(ENV_GET_CPU(env)); >>> #endif >>> >>> thread_env = env; >>> diff --git a/linux-user/syscall.c b/linux-user/syscall.c >>> index 20d2a74..539af3f 100644 >>> --- a/linux-user/syscall.c >>> +++ b/linux-user/syscall.c >>> @@ -4262,7 +4262,7 @@ static int do_fork(CPUArchState *env, unsigned int >>> flags, abi_ulong newsp, >>> /* we create a new CPU instance. */ >>> new_env = cpu_copy(env); >>> #if defined(TARGET_I386) || defined(TARGET_SPARC) || defined(TARGET_PPC) >>> - cpu_state_reset(new_env); >>> + cpu_reset(ENV_GET_CPU(new_env)); >>> #endif >>> /* Init regs that differ from the parent. */ >>> cpu_clone_regs(new_env, newsp); >>> -- >> >> Do you have any plans to try to rationalise the handling of reset >> so that we consistently either do or don't reset the cpu here, >> rather than having it done based on a TARGET_* ifdef ? > > Igor had an RFC for x86; sparc and ppc reset I haven't looked into yet. > Cc'ing Alex and Blue.
Why would you ever not want to reset the CPU for a new thread? Alex