mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 09:43:56 -06:00
cpu: Introduce TCGCpuOperations struct
The TCG-specific CPU methods will be moved to a separate struct, to make it easier to move accel-specific code outside generic CPU code in the future. Start by moving tcg_initialize(). The new CPUClass.tcg_opts field may eventually become a pointer, but keep it an embedded struct for now, to make code conversion easier. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> [claudio: move TCGCpuOperations inside include/hw/core/cpu.h] Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20210204163931.7358-2-cfontana@suse.de> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
2f74f45e32
commit
e9e51b7154
25 changed files with 48 additions and 30 deletions
|
@ -201,7 +201,7 @@ static void crisv8_cpu_class_init(ObjectClass *oc, void *data)
|
|||
ccc->vr = 8;
|
||||
cc->do_interrupt = crisv10_cpu_do_interrupt;
|
||||
cc->gdb_read_register = crisv10_cpu_gdb_read_register;
|
||||
cc->tcg_initialize = cris_initialize_crisv10_tcg;
|
||||
cc->tcg_ops.initialize = cris_initialize_crisv10_tcg;
|
||||
}
|
||||
|
||||
static void crisv9_cpu_class_init(ObjectClass *oc, void *data)
|
||||
|
@ -212,7 +212,7 @@ static void crisv9_cpu_class_init(ObjectClass *oc, void *data)
|
|||
ccc->vr = 9;
|
||||
cc->do_interrupt = crisv10_cpu_do_interrupt;
|
||||
cc->gdb_read_register = crisv10_cpu_gdb_read_register;
|
||||
cc->tcg_initialize = cris_initialize_crisv10_tcg;
|
||||
cc->tcg_ops.initialize = cris_initialize_crisv10_tcg;
|
||||
}
|
||||
|
||||
static void crisv10_cpu_class_init(ObjectClass *oc, void *data)
|
||||
|
@ -223,7 +223,7 @@ static void crisv10_cpu_class_init(ObjectClass *oc, void *data)
|
|||
ccc->vr = 10;
|
||||
cc->do_interrupt = crisv10_cpu_do_interrupt;
|
||||
cc->gdb_read_register = crisv10_cpu_gdb_read_register;
|
||||
cc->tcg_initialize = cris_initialize_crisv10_tcg;
|
||||
cc->tcg_ops.initialize = cris_initialize_crisv10_tcg;
|
||||
}
|
||||
|
||||
static void crisv11_cpu_class_init(ObjectClass *oc, void *data)
|
||||
|
@ -234,7 +234,7 @@ static void crisv11_cpu_class_init(ObjectClass *oc, void *data)
|
|||
ccc->vr = 11;
|
||||
cc->do_interrupt = crisv10_cpu_do_interrupt;
|
||||
cc->gdb_read_register = crisv10_cpu_gdb_read_register;
|
||||
cc->tcg_initialize = cris_initialize_crisv10_tcg;
|
||||
cc->tcg_ops.initialize = cris_initialize_crisv10_tcg;
|
||||
}
|
||||
|
||||
static void crisv17_cpu_class_init(ObjectClass *oc, void *data)
|
||||
|
@ -245,7 +245,7 @@ static void crisv17_cpu_class_init(ObjectClass *oc, void *data)
|
|||
ccc->vr = 17;
|
||||
cc->do_interrupt = crisv10_cpu_do_interrupt;
|
||||
cc->gdb_read_register = crisv10_cpu_gdb_read_register;
|
||||
cc->tcg_initialize = cris_initialize_crisv10_tcg;
|
||||
cc->tcg_ops.initialize = cris_initialize_crisv10_tcg;
|
||||
}
|
||||
|
||||
static void crisv32_cpu_class_init(ObjectClass *oc, void *data)
|
||||
|
@ -284,7 +284,7 @@ static void cris_cpu_class_init(ObjectClass *oc, void *data)
|
|||
cc->gdb_stop_before_watchpoint = true;
|
||||
|
||||
cc->disas_set_info = cris_disas_set_info;
|
||||
cc->tcg_initialize = cris_initialize_tcg;
|
||||
cc->tcg_ops.initialize = cris_initialize_tcg;
|
||||
}
|
||||
|
||||
#define DEFINE_CRIS_CPU_TYPE(cpu_model, initfn) \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue