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 <[email protected]> > CC: Alexander Graf <[email protected]> > CC: [email protected] > Signed-off-by: Laurent Vivier <[email protected]> > --- > 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 (i = 0; i < PPC_CPU_OPCODES_LEN; i++) {
> if (env->opcodes[i] == &invalid_handler) {
> continue;
> @@ -10435,6 +10432,7 @@ static void ppc_cpu_initfn(Object *obj)
> CPUPPCState *env = &cpu->env;
>
> cs->env_ptr = env;
> + cpu_exec_init(cs);
>
> env->msr_mask = pcc->msr_mask;
> env->mmu_model = pcc->mmu_model;
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature
