Message ID | 20170506111431.12548-12-aurelien@aurel32.net |
---|---|
State | New |
Headers | show |
On 05/06/2017 04:14 AM, Aurelien Jarno wrote: > synco is a SH4-A only instruction. > > Reviewed-by: Philippe Mathieu-Daudé<f4bug@amsat.org> > Signed-off-by: Aurelien Jarno<aurelien@aurel32.net> > --- > target/sh4/translate.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) Reviewed-by: Richard Henderson <rth@twiddle.net> r~
diff --git a/target/sh4/translate.c b/target/sh4/translate.c index 8c766eed2a..9fe2e2d4d9 100644 --- a/target/sh4/translate.c +++ b/target/sh4/translate.c @@ -1570,10 +1570,11 @@ static void _decode_opc(DisasContext * ctx) else break; case 0x00ab: /* synco */ - if (ctx->features & SH_FEATURE_SH4A) - return; - else - break; + if (ctx->features & SH_FEATURE_SH4A) { + tcg_gen_mb(TCG_MO_ALL | TCG_BAR_SC); + return; + } + break; case 0x4024: /* rotcl Rn */ { TCGv tmp = tcg_temp_new();