On Thu, Oct 20, 2016 at 01:26:01PM +0200, Laurent Vivier 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_realizefn(), adding the CPU in the > environment) and an init part (cpu_exec_initfn(), initializing the CPU, like > adding the "memory" property). To mirror the realize part, add an unrealize > part, and remove the cpu_exec_exit() call from the finalize part. > > This also allows to remove all the "cannot_destroy_with_object_finalize_yet" > properties from the CPU device class. > > v5: > - rebase master > - arm: define ARM_DEFAULT_CPUS_PER_CLUSTER, ARM64_AFFINITY_INVALID, > and move variable declaration into the "if" block. [...]
Applied to machine-next. Thanks! -- Eduardo