qemu-ppc
[Top][All Lists]
Advanced

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

Re: [Qemu-ppc] [PATCH v2 03/20] target-ppc: move back cpu_exec_init() to


From: Laurent Vivier
Subject: Re: [Qemu-ppc] [PATCH v2 03/20] target-ppc: move back cpu_exec_init() to init
Date: Fri, 14 Oct 2016 19:26:54 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0


On 14/10/2016 16:49, Bharata B Rao wrote:
> On Fri, Oct 14, 2016 at 03:07:51PM +1100, David Gibson wrote:
>> On Thu, Oct 13, 2016 at 06:24:45PM +0200, Laurent Vivier wrote:
>>> We have now the cpu_exec_realize() in realize,
>>> so the init part must be in init.
>>>
>>> As cpu_exec_unrealize() is called from cpu_common_finalize(),
>>> remove the call from ppc_cpu_unrealizefn().
>>>
>>> CC: Bharata B Rao <address@hidden>
>>> CC: Alexander Graf <address@hidden>
>>> CC: address@hidden
>>> Signed-off-by: Laurent Vivier <address@hidden>
>>> ---
>>>  target-ppc/translate_init.c | 4 +---
>>>  1 file changed, 1 insertion(+), 3 deletions(-)
>>>
>>> diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c
>>> index 094f28a..bbca8b5 100644
>>> --- a/target-ppc/translate_init.c
>>> +++ b/target-ppc/translate_init.c
>>> @@ -9678,7 +9678,6 @@ static void ppc_cpu_realizefn(DeviceState *dev, Error 
>>> **errp)
>>>      }
>>>  #endif
>>>  
>>> -    cpu_exec_init(cs);
>>>      cpu_exec_realize(cs, &local_err);
>>>      if (local_err != NULL) {
>>>          error_propagate(errp, local_err);
>>> @@ -9911,8 +9910,6 @@ static void ppc_cpu_unrealizefn(DeviceState *dev, 
>>> Error **errp)
>>>      opc_handler_t **table, **table_2;
>>>      int i, j, k;
>>>  
>>> -    cpu_exec_unrealize(CPU(dev));
>>> -
>>
>> This doesn't seem right.  As you said in 0/20, cpu_exec_unrealize() is
>> called from cpu_common_finalize().  But finalize should mirror init,
>> not unrealize().  So it seems that unrealize() really should belong
>> here, not in finalize.
> 
> For archs like PowerPC, cpu_exec_exit() was being called twice: once
> from PowerPC CPU's unrealize function and once from cpu_common_finalize().
> cpu_exec_exit() had two vmstate_unregister() calls and it used to ensure
> that they are not called twice, but looks like this got changed sometime
> back and we are now executing these two vmstate_unregister() calls twice.
> 
> While you are here, could you please take care of this ?

Yes, I'm aware of that and taking care :)

Thanks,
Lauret



reply via email to

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