diff options
| author | Laurent Vivier <lvivier@redhat.com> | 2016-10-20 13:26:02 +0200 |
|---|---|---|
| committer | Eduardo Habkost <ehabkost@redhat.com> | 2016-10-24 17:29:16 -0200 |
| commit | 39e329e341da375b8d66444ffe93c79d7a883350 (patch) | |
| tree | 90043e744a3165277ba2363cc025ad97da8945a1 | |
| parent | 00d0f9fd6602a27b204f672ef5bc8e69736c7ff1 (diff) | |
| download | focaccia-qemu-39e329e341da375b8d66444ffe93c79d7a883350.tar.gz focaccia-qemu-39e329e341da375b8d66444ffe93c79d7a883350.zip | |
exec: split cpu_exec_init()
Put in cpu_exec_initfn() what initializes the CPU, and leave in cpu_exec_init() what adds it to the environment. As cpu_exec_initfn() is called by all XX_cpu_initfn(), call it directly in cpu_common_initfn(). cpu_exec_init() is now a realize function, it will be renamed to cpu_exec_realizefn() and moved to the XX_cpu_realizefn() function in a following patch. Signed-off-by: Laurent Vivier <lvivier@redhat.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Reviewed-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
| -rw-r--r-- | exec.c | 10 | ||||
| -rw-r--r-- | include/qom/cpu.h | 1 | ||||
| -rw-r--r-- | qom/cpu.c | 2 |
3 files changed, 9 insertions, 4 deletions
diff --git a/exec.c b/exec.c index 6d7f600c0c..902dac597b 100644 --- a/exec.c +++ b/exec.c @@ -610,11 +610,8 @@ void cpu_exec_exit(CPUState *cpu) } } -void cpu_exec_init(CPUState *cpu, Error **errp) +void cpu_exec_initfn(CPUState *cpu) { - CPUClass *cc ATTRIBUTE_UNUSED = CPU_GET_CLASS(cpu); - Error *local_err ATTRIBUTE_UNUSED = NULL; - cpu->as = NULL; cpu->num_ases = 0; @@ -635,6 +632,11 @@ void cpu_exec_init(CPUState *cpu, Error **errp) cpu->memory = system_memory; object_ref(OBJECT(cpu->memory)); #endif +} + +void cpu_exec_init(CPUState *cpu, Error **errp) +{ + CPUClass *cc ATTRIBUTE_UNUSED = CPU_GET_CLASS(cpu); cpu_list_add(cpu); diff --git a/include/qom/cpu.h b/include/qom/cpu.h index 6d481a1dc0..d7648a9333 100644 --- a/include/qom/cpu.h +++ b/include/qom/cpu.h @@ -946,6 +946,7 @@ AddressSpace *cpu_get_address_space(CPUState *cpu, int asidx); void QEMU_NORETURN cpu_abort(CPUState *cpu, const char *fmt, ...) GCC_FMT_ATTR(2, 3); +void cpu_exec_initfn(CPUState *cpu); void cpu_exec_exit(CPUState *cpu); #ifdef CONFIG_SOFTMMU diff --git a/qom/cpu.c b/qom/cpu.c index c40f774a0c..85f1132043 100644 --- a/qom/cpu.c +++ b/qom/cpu.c @@ -362,6 +362,8 @@ static void cpu_common_initfn(Object *obj) QTAILQ_INIT(&cpu->watchpoints); cpu->trace_dstate = bitmap_new(trace_get_vcpu_event_count()); + + cpu_exec_initfn(cpu); } static void cpu_common_finalize(Object *obj) |