qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH 02/23] target-m68k: Build the opcode table only once


From: Laurent Vivier
Subject: [Qemu-devel] [PATCH 02/23] target-m68k: Build the opcode table only once to avoid multithreading issues
Date: Tue, 25 Oct 2016 16:50:00 +0200

From: John Paul Adrian Glaubitz <address@hidden>

Signed-off-by: John Paul Adrian Glaubitz <address@hidden>
Signed-off-by: Laurent Vivier <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
---
 target-m68k/translate.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/target-m68k/translate.c b/target-m68k/translate.c
index deb5a58..eecb32b 100644
--- a/target-m68k/translate.c
+++ b/target-m68k/translate.c
@@ -2841,6 +2841,11 @@ register_opcode (disas_proc proc, uint16_t opcode, 
uint16_t mask)
    Later insn override earlier ones.  */
 void register_m68k_insns (CPUM68KState *env)
 {
+    /* Build the opcode table only once to avoid
+       multithreading issues. */
+    if (opcode_table[0] != NULL) {
+        return;
+    }
 #define INSN(name, opcode, mask, feature) do { \
     if (m68k_feature(env, M68K_FEATURE_##feature)) \
         register_opcode(disas_##name, 0x##opcode, 0x##mask); \
-- 
2.7.4




reply via email to

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