qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 00/19] Split cpu_exec_init() into an init and a


From: Peter Maydell
Subject: Re: [Qemu-devel] [PATCH 00/19] Split cpu_exec_init() into an init and a realize part
Date: Wed, 5 Oct 2016 13:11:33 -0700

On 5 October 2016 at 12:38, Laurent Vivier <address@hidden> wrote:
> Since commit 42ecaba ("target-i386: Call cpu_exec_init() on realize"),
> , commit 6dd0f83 ("target-ppc: Move cpu_exec_init() call to realize 
> function"),
> and commit c6644fc ("s390x/cpu: Get rid of side effects when creating a 
> vcpu"),
> cpu_exec_init() has been moved to realize function for some architectures
> to implement CPU htoplug. This allows any failures from cpu_exec_init() to be
> handled appropriately.
>
> This series tries to do the same work for all the other CPUs.
>
> But as the ARM Virtual Machine ("virt") needs the "memory" property of the CPU
> in the machine init function (the "memory" property is created in
> cpu_exec_init() we want to move to the realize part), split cpu_exec_init() in
> two parts: a realize part (cpu_exec_realize(), adding the CPU in the
> environment) and an init part (cpu_exec_init(), initializing the CPU, like
> adding the "memory" property).
>
> For target-i386, target-s390 and target-ppc, we move back the cpu_exec_init()
> into the init part, and put the cpu_exec_realize() into the realize part.
> For all the other CPUs, we add the cpu_exec_realize() function into the
> realize part.
>
> This also allows to remove all the "cannot_destroy_with_object_finalize_yet"
> properties from the CPU device class.

At some point following this we should remove the Error** argument
from cpu_exec_init() : init isn't permitted to fail and indeed
cpu_exec_init() never does, so the argument is unneeded.

If realize fails do we correctly release the reference we take on
cpu->memory in cpu_exec_init()?

thanks
-- PMM



reply via email to

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