Message ID | 1454492221-30625-3-git-send-email-glaubitz@physik.fu-berlin.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Le 03/02/2016 10:37, John Paul Adrian Glaubitz a écrit : > Signed-off-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> > --- > 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); \ > Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Le 03/02/2016 10:39, Laurent Vivier a écrit : > > > Le 03/02/2016 10:37, John Paul Adrian Glaubitz a écrit : >> Signed-off-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> >> --- >> 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); \ >> > Reviewed-by: Laurent Vivier <laurent@vivier.eu> In fact, the line should be: + if (opcode_table[0] != NULL) + return; thanks to scripts/checkpatch.pl. Laurent
On 02/03/2016 10:57 AM, Laurent Vivier wrote: > In fact, the line should be: > > + if (opcode_table[0] != NULL) > + return; > > thanks to scripts/checkpatch.pl. Want me to re-send it?
Le 03/02/2016 11:06, John Paul Adrian Glaubitz a écrit : > On 02/03/2016 10:57 AM, Laurent Vivier wrote: >> In fact, the line should be: >> >> + if (opcode_table[0] != NULL) >> + return; >> >> thanks to scripts/checkpatch.pl. > > Want me to re-send it? > I don't know if the one who will commit this to the tree will want to update this. BTW, Peter, perhaps it's the time to add me as m68k maintainer ? (so I will manage that :) ) Laurent
On 02/03/2016 11:13 AM, Laurent Vivier wrote: > I don't know if the one who will commit this to the tree will want to > update this. Just sent an updated one, just in case :). > BTW, Peter, perhaps it's the time to add me as m68k maintainer ? > (so I will manage that :) ) Yes, please. I'm all for that! I'm really motivated to get m68k support into best shape. qemu-m68k is fun to hack on! Adrian
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); \
Signed-off-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> --- target-m68k/translate.c | 4 ++++ 1 file changed, 4 insertions(+)