qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 11/11] target-alpha: Make cpu_alpha_init() reentrant


From: Andreas Färber
Subject: [Qemu-devel] [PATCH 11/11] target-alpha: Make cpu_alpha_init() reentrant
Date: Fri, 21 Sep 2012 16:38:35 +0200

From: Richard Henderson <address@hidden>

Guard against duplicate TCG initialization, triggered by linux-user
NPTL emulation.

Signed-off-by: Richard Henderson <address@hidden>
[AF: Split off into separate patch]
Signed-off-by: Andreas Färber <address@hidden>
---
 target-alpha/translate.c |    6 +++++-
 1 Datei geändert, 5 Zeilen hinzugefügt(+), 1 Zeile entfernt(-)

diff --git a/target-alpha/translate.c b/target-alpha/translate.c
index 93063fb..f998f75 100644
--- a/target-alpha/translate.c
+++ b/target-alpha/translate.c
@@ -3525,6 +3525,7 @@ static const struct cpu_def_t cpu_defs[] = {
 
 CPUAlphaState * cpu_alpha_init (const char *cpu_model)
 {
+    static bool inited;
     AlphaCPU *cpu;
     CPUAlphaState *env;
     int implver, amask, i, max;
@@ -3532,7 +3533,10 @@ CPUAlphaState * cpu_alpha_init (const char *cpu_model)
     cpu = ALPHA_CPU(object_new(TYPE_ALPHA_CPU));
     env = &cpu->env;
 
-    alpha_translate_init();
+    if (!inited) {
+        inited = true;
+        alpha_translate_init();
+    }
 
     /* Default to ev67; no reason not to emulate insns by default.  */
     implver = IMPLVER_21264;
-- 
1.7.10.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]