mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -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
6
cpu.c
6
cpu.c
|
@ -159,14 +159,18 @@ void cpu_exec_initfn(CPUState *cpu)
|
|||
void cpu_exec_realizefn(CPUState *cpu, Error **errp)
|
||||
{
|
||||
CPUClass *cc = CPU_GET_CLASS(cpu);
|
||||
#ifdef CONFIG_TCG
|
||||
static bool tcg_target_initialized;
|
||||
#endif /* CONFIG_TCG */
|
||||
|
||||
cpu_list_add(cpu);
|
||||
|
||||
#ifdef CONFIG_TCG
|
||||
if (tcg_enabled() && !tcg_target_initialized) {
|
||||
tcg_target_initialized = true;
|
||||
cc->tcg_initialize();
|
||||
cc->tcg_ops.initialize();
|
||||
}
|
||||
#endif /* CONFIG_TCG */
|
||||
tlb_init(cpu);
|
||||
|
||||
qemu_plugin_vcpu_init_hook(cpu);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue