[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-ppc] [RFC PATCH v3 15/24] ppc: Move cpu_exec_init() call to realiz
From: |
Bharata B Rao |
Subject: |
[Qemu-ppc] [RFC PATCH v3 15/24] ppc: Move cpu_exec_init() call to realize function |
Date: |
Fri, 24 Apr 2015 12:17:37 +0530 |
Move cpu_exec_init() call from instance_init to realize. This allows
any failures from cpu_exec_init() to be handled appropriately.
Correspondingly move cpu_exec_exit() call from instance_finalize
to unrealize.
Signed-off-by: Bharata B Rao <address@hidden>
---
target-ppc/translate_init.c | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c
index a553560..fccee82 100644
--- a/target-ppc/translate_init.c
+++ b/target-ppc/translate_init.c
@@ -8928,6 +8928,11 @@ static void ppc_cpu_realizefn(DeviceState *dev, Error
**errp)
return;
}
+ cpu_exec_init(&cpu->env, &local_err);
+ if (local_err != NULL) {
+ error_propagate(errp, local_err);
+ return;
+ }
cpu->cpu_dt_id = (cs->cpu_index / smp_threads) * max_smt
+ (cs->cpu_index % smp_threads);
#endif
@@ -9141,6 +9146,8 @@ static void ppc_cpu_unrealizefn(DeviceState *dev, Error
**errp)
opc_handler_t **table;
int i, j;
+ cpu_exec_exit(CPU(dev));
+
for (i = 0; i < PPC_CPU_OPCODES_LEN; i++) {
if (env->opcodes[i] == &invalid_handler) {
continue;
@@ -9671,11 +9678,6 @@ static bool ppc_cpu_is_big_endian(CPUState *cs)
}
#endif
-static void ppc_cpu_finalize(Object *obj)
-{
- cpu_exec_exit(CPU(obj));
-}
-
static void ppc_cpu_initfn(Object *obj)
{
CPUState *cs = CPU(obj);
@@ -9684,8 +9686,6 @@ static void ppc_cpu_initfn(Object *obj)
CPUPPCState *env = &cpu->env;
cs->env_ptr = env;
- cpu_exec_init(env, NULL);
- cpu->cpu_dt_id = cs->cpu_index;
env->msr_mask = pcc->msr_mask;
env->mmu_model = pcc->mmu_model;
@@ -9789,7 +9789,6 @@ static const TypeInfo ppc_cpu_type_info = {
.parent = TYPE_CPU,
.instance_size = sizeof(PowerPCCPU),
.instance_init = ppc_cpu_initfn,
- .instance_finalize = ppc_cpu_finalize,
.abstract = true,
.class_size = sizeof(PowerPCCPUClass),
.class_init = ppc_cpu_class_init,
--
2.1.0
- [Qemu-ppc] [RFC PATCH v3 05/24] spapr: Reorganize CPU dt generation code, (continued)
- [Qemu-ppc] [RFC PATCH v3 05/24] spapr: Reorganize CPU dt generation code, Bharata B Rao, 2015/04/24
- [Qemu-ppc] [RFC PATCH v3 06/24] spapr: Consolidate cpu init code into a routine, Bharata B Rao, 2015/04/24
- [Qemu-ppc] [RFC PATCH v3 07/24] cpu: Prepare Socket container type, Bharata B Rao, 2015/04/24
- [Qemu-ppc] [RFC PATCH v3 08/24] ppc: Prepare CPU socket/core abstraction, Bharata B Rao, 2015/04/24
- [Qemu-ppc] [RFC PATCH v3 09/24] spapr: Add CPU hotplug handler, Bharata B Rao, 2015/04/24
- [Qemu-ppc] [RFC PATCH v3 10/24] ppc: Update cpu_model in MachineState, Bharata B Rao, 2015/04/24
- [Qemu-ppc] [RFC PATCH v3 11/24] ppc: Create sockets and cores for CPUs, Bharata B Rao, 2015/04/24
- [Qemu-ppc] [RFC PATCH v3 12/24] spapr: CPU hotplug support, Bharata B Rao, 2015/04/24
- [Qemu-ppc] [RFC PATCH v3 13/24] cpus: Add Error argument to cpu_exec_init(), Bharata B Rao, 2015/04/24
- [Qemu-ppc] [RFC PATCH v3 14/24] cpus: Convert cpu_index into a bitmap, Bharata B Rao, 2015/04/24
- [Qemu-ppc] [RFC PATCH v3 15/24] ppc: Move cpu_exec_init() call to realize function,
Bharata B Rao <=
- [Qemu-ppc] [RFC PATCH v3 16/24] qom: Introduce object_has_no_children() API, Bharata B Rao, 2015/04/24
- [Qemu-ppc] [RFC PATCH v3 17/24] cpus: Reclaim vCPU objects, Bharata B Rao, 2015/04/24
- [Qemu-ppc] [RFC PATCH v3 18/24] xics_kvm: Don't enable KVM_CAP_IRQ_XICS if already enabled, Bharata B Rao, 2015/04/24
- [Qemu-ppc] [RFC PATCH v3 19/24] xics_kvm: Add cpu_destroy method to XICS, Bharata B Rao, 2015/04/24
- [Qemu-ppc] [RFC PATCH v3 20/24] spapr: CPU hot unplug support, Bharata B Rao, 2015/04/24
- [Qemu-ppc] [RFC PATCH v3 21/24] spapr: Initialize hotplug memory address space, Bharata B Rao, 2015/04/24
- [Qemu-ppc] [RFC PATCH v3 22/24] numa: API to lookup NUMA node by address, Bharata B Rao, 2015/04/24
- [Qemu-ppc] [RFC PATCH v3 23/24] spapr: Support ibm, dynamic-reconfiguration-memory, Bharata B Rao, 2015/04/24
- [Qemu-ppc] [RFC PATCH v3 24/24] spapr: Memory hotplug support, Bharata B Rao, 2015/04/24