]> git.proxmox.com Git - mirror_qemu.git/blobdiff - exec.c
qom: Introduce CPUClass.tcg_initialize
[mirror_qemu.git] / exec.c
diff --git a/exec.c b/exec.c
index db5ae2311893b00f6aa7b3950c286f253fcbbc80..de03053d323345267ab60a96f73bd95cbf69a058 100644 (file)
--- a/exec.c
+++ b/exec.c
@@ -791,10 +791,15 @@ void cpu_exec_initfn(CPUState *cpu)
 
 void cpu_exec_realizefn(CPUState *cpu, Error **errp)
 {
-    CPUClass *cc ATTRIBUTE_UNUSED = CPU_GET_CLASS(cpu);
+    CPUClass *cc = CPU_GET_CLASS(cpu);
 
     cpu_list_add(cpu);
 
+    if (tcg_enabled() && !cc->tcg_initialized) {
+        cc->tcg_initialized = true;
+        cc->tcg_initialize();
+    }
+
 #ifndef CONFIG_USER_ONLY
     if (qdev_get_vmsd(DEVICE(cpu)) == NULL) {
         vmstate_register(NULL, cpu->cpu_index, &vmstate_cpu_common, cpu);