[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
- [Qemu-devel] [PATCH 00/23] target-m68k: prepare to introduce 680x0 instruction set, Laurent Vivier, 2016/10/25
- [Qemu-devel] [PATCH 08/23] target-m68k: set PAGE_BITS to 12 for m68k, Laurent Vivier, 2016/10/25
- [Qemu-devel] [PATCH 10/23] target-m68k: allow to update flags with operation on words and bytes, Laurent Vivier, 2016/10/25
- [Qemu-devel] [PATCH 01/23] target-m68k: fix DEBUG_DISPATCH, Laurent Vivier, 2016/10/25
- [Qemu-devel] [PATCH 02/23] target-m68k: Build the opcode table only once to avoid multithreading issues,
Laurent Vivier <=
- [Qemu-devel] [PATCH 04/23] target-m68k: manage scaled index, Laurent Vivier, 2016/10/25
- [Qemu-devel] [PATCH 06/23] target-m68k: set disassembler mode to 680x0 or coldfire, Laurent Vivier, 2016/10/25
- [Qemu-devel] [PATCH 03/23] target-m68k: define m680x0 CPUs and features, Laurent Vivier, 2016/10/25
- [Qemu-devel] [PATCH 09/23] target-m68k: REG() macro cleanup, Laurent Vivier, 2016/10/25
- [Qemu-devel] [PATCH 07/23] target-m68k: define operand sizes, Laurent Vivier, 2016/10/25
- [Qemu-devel] [PATCH 05/23] target-m68k: introduce read_imXX() functions, Laurent Vivier, 2016/10/25
- [Qemu-devel] [PATCH 12/23] target-m68k: remove m68k_cpu_exec_enter() and m68k_cpu_exec_exit(), Laurent Vivier, 2016/10/25
- [Qemu-devel] [PATCH 18/23] target-m68k: Remove incorrect clearing of cc_x, Laurent Vivier, 2016/10/25
- [Qemu-devel] [PATCH 16/23] target-m68k: Print flags properly, Laurent Vivier, 2016/10/25
- [Qemu-devel] [PATCH 17/23] target-m68k: Some fixes to SR and flags management, Laurent Vivier, 2016/10/25