From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57012) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aQts9-0007ME-KE for qemu-devel@nongnu.org; Wed, 03 Feb 2016 04:37:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aQts4-0000JB-V9 for qemu-devel@nongnu.org; Wed, 03 Feb 2016 04:37:13 -0500 Received: from outpost19.zedat.fu-berlin.de ([130.133.4.112]:51708) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aQts4-0000Iw-OQ for qemu-devel@nongnu.org; Wed, 03 Feb 2016 04:37:08 -0500 From: John Paul Adrian Glaubitz Date: Wed, 3 Feb 2016 10:37:01 +0100 Message-Id: <1454492221-30625-3-git-send-email-glaubitz@physik.fu-berlin.de> In-Reply-To: <1454492221-30625-1-git-send-email-glaubitz@physik.fu-berlin.de> References: <1454492221-30625-1-git-send-email-glaubitz@physik.fu-berlin.de> Subject: [Qemu-devel] [PATCH 2/2] m68k: Build the opcode table only once to avoid multithreading issues List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: laurent@vivier.eu, John Paul Adrian Glaubitz Signed-off-by: John Paul Adrian Glaubitz --- target-m68k/translate.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/target-m68k/translate.c b/target-m68k/translate.c index 535d7f9..f508d1e 100644 --- a/target-m68k/translate.c +++ b/target-m68k/translate.c @@ -2828,6 +2828,10 @@ 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 + issues with multithreading. */ + 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.0