qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH next v2 73/74] linux-user: Use cpu_reset() after


From: Andreas Färber
Subject: Re: [Qemu-devel] [PATCH next v2 73/74] linux-user: Use cpu_reset() after cpu_init() / cpu_copy()
Date: Wed, 16 May 2012 15:01:18 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120421 Thunderbird/12.0

Am 16.05.2012 14:36, schrieb Igor Mammedov:
> On 05/11/2012 01:26 PM, Andreas Färber wrote:
>> Am 11.05.2012 13:22, schrieb Peter Maydell:
>>> On 10 May 2012 01:14, Andreas Färber<address@hidden>  wrote:
>>>> Eliminates cpu_state_reset() usage.
>>>>
>>>> Signed-off-by: Andreas Färber<address@hidden>
>>>> ---
>>>>   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.
> I'll rebase RFC for x86 and post patches today and will remove it from here
> by the last patch in patchset so that when this patch applied we could
> remove
> unnecessary call.
> So ACK for target-i386 here.

Since back then Peter and I have discussed whether we can rather just
remove the #ifdef here and reset for all targets.

Unfortunately I'm still not clear about some patches that stand in the
way of ObjectClass::realize - if cpu_reset() is moved to realizefn for
all targets then we can just call realize here.

Actually, all we'd need is ObjectClass::realize field, so I'm
considering extracting the intersection between Paolo and me, stick a
CPU-specific wrapper method on top as requested by Anthony and then we
can move ahead here...

Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg



reply via email to

[Prev in Thread] Current Thread [Next in Thread]