[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH for-1.4 1/2] linux-user: Fix cpu_copy() usage
From: |
Igor Mammedov |
Subject: |
Re: [Qemu-devel] [PATCH for-1.4 1/2] linux-user: Fix cpu_copy() usage |
Date: |
Wed, 30 Jan 2013 08:18:23 +0100 |
On Wed, 30 Jan 2013 01:34:18 +0100
Andreas Färber <address@hidden> wrote:
> Commit b4558d7481aefc865b0b52bf9b285ebcf2e8b59f ((x86/Sparc/PPC)-user:
> fix cpu_copy) added a CPU reset after cpu_copy() inside linux-user code.
> This reverses the register copying that cpu_copy() does.
>
> Clean this up by moving the cpu_reset() call to after cpu_init() but
> before memcpy(). This matches the initial CPU creation in linux-user.
>
> Cc: Blue Swirl <address@hidden>
> Signed-off-by: Andreas Färber <address@hidden>
> Cc: Peter Maydell <address@hidden>
> ---
> exec.c | 6 ++++++
> linux-user/syscall.c | 3 ---
> 2 Dateien geändert, 6 Zeilen hinzugefügt(+), 3 Zeilen entfernt(-)
>
> diff --git a/exec.c b/exec.c
> index b85508b..8dfa458 100644
> --- a/exec.c
> +++ b/exec.c
> @@ -537,6 +537,12 @@ CPUArchState *cpu_copy(CPUArchState *env)
> CPUWatchpoint *wp;
> #endif
>
> +#ifdef CONFIG_USER_ONLY
unnecessary ifdef-feniry here, cpu_copy() is linux-user only thing.
> +#if defined(TARGET_I386) || defined(TARGET_SPARC) || defined(TARGET_PPC)
> + cpu_reset(ENV_GET_CPU(new_env));
> +#endif
> +#endif
> +
> memcpy(new_env, env, sizeof(CPUArchState));
>
> /* Preserve chaining. */
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index 693e66f..6c254ba 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -4361,9 +4361,6 @@ static int do_fork(CPUArchState *env, unsigned int
> flags, abi_ulong newsp,
> init_task_state(ts);
> /* we create a new CPU instance. */
> new_env = cpu_copy(env);
> -#if defined(TARGET_I386) || defined(TARGET_SPARC) || defined(TARGET_PPC)
> - cpu_reset(ENV_GET_CPU(new_env));
> -#endif
> /* Init regs that differ from the parent. */
> cpu_clone_regs(new_env, newsp);
> new_env->opaque = ts;
> --
> 1.7.10.4
>
>
Otherwise looks good.
--
Regards,
Igor