Message ID | 20221006200654.725390-7-matheus.ferst@eldorado.org.br |
---|---|
State | New |
Headers | show |
Series | Enable doorbell instruction for POWER8 CPUs | expand |
On 10/6/22 17:06, Matheus Ferst wrote: > Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br> > --- Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> > target/ppc/insn32.decode | 1 + > target/ppc/translate.c | 14 -------------- > target/ppc/translate/processor-ctrl-impl.c.inc | 9 +++++++++ > 3 files changed, 10 insertions(+), 14 deletions(-) > > diff --git a/target/ppc/insn32.decode b/target/ppc/insn32.decode > index 5ba4a6807d..70a3b4de5e 100644 > --- a/target/ppc/insn32.decode > +++ b/target/ppc/insn32.decode > @@ -915,3 +915,4 @@ MSGCLR 011111 ----- ----- ..... 0011101110 - @X_rb > MSGSND 011111 ----- ----- ..... 0011001110 - @X_rb > MSGCLRP 011111 ----- ----- ..... 0010101110 - @X_rb > MSGSNDP 011111 ----- ----- ..... 0010001110 - @X_rb > +MSGSYNC 011111 ----- ----- ----- 1101110110 - > diff --git a/target/ppc/translate.c b/target/ppc/translate.c > index 087ab8e69d..f092bbeb8b 100644 > --- a/target/ppc/translate.c > +++ b/target/ppc/translate.c > @@ -6239,18 +6239,6 @@ static void gen_icbt_440(DisasContext *ctx) > */ > } > > -/* Embedded.Processor Control */ > - > -static void gen_msgsync(DisasContext *ctx) > -{ > -#if defined(CONFIG_USER_ONLY) > - GEN_PRIV(ctx); > -#else > - CHK_HV(ctx); > -#endif /* defined(CONFIG_USER_ONLY) */ > - /* interpreted as no-op */ > -} > - > #if defined(TARGET_PPC64) > static void gen_maddld(DisasContext *ctx) > { > @@ -6853,8 +6841,6 @@ GEN_HANDLER2_E(tlbivax_booke206, "tlbivax", 0x1F, 0x12, 0x18, 0x00000001, > PPC_NONE, PPC2_BOOKE206), > GEN_HANDLER2_E(tlbilx_booke206, "tlbilx", 0x1F, 0x12, 0x00, 0x03800001, > PPC_NONE, PPC2_BOOKE206), > -GEN_HANDLER2_E(msgsync, "msgsync", 0x1F, 0x16, 0x1B, 0x00000000, > - PPC_NONE, PPC2_ISA300), > GEN_HANDLER(wrtee, 0x1F, 0x03, 0x04, 0x000FFC01, PPC_WRTEE), > GEN_HANDLER(wrteei, 0x1F, 0x03, 0x05, 0x000E7C01, PPC_WRTEE), > GEN_HANDLER(dlmzb, 0x1F, 0x0E, 0x02, 0x00000000, PPC_440_SPEC), > diff --git a/target/ppc/translate/processor-ctrl-impl.c.inc b/target/ppc/translate/processor-ctrl-impl.c.inc > index 3703001f31..021e365a57 100644 > --- a/target/ppc/translate/processor-ctrl-impl.c.inc > +++ b/target/ppc/translate/processor-ctrl-impl.c.inc > @@ -92,3 +92,12 @@ static bool trans_MSGSNDP(DisasContext *ctx, arg_X_rb *a) > #endif > return true; > } > + > +static bool trans_MSGSYNC(DisasContext *ctx, arg_MSGSYNC *a) > +{ > + REQUIRE_INSNS_FLAGS2(ctx, ISA300); > + REQUIRE_HV(ctx); > + > + /* interpreted as no-op */ > + return true; > +}
diff --git a/target/ppc/insn32.decode b/target/ppc/insn32.decode index 5ba4a6807d..70a3b4de5e 100644 --- a/target/ppc/insn32.decode +++ b/target/ppc/insn32.decode @@ -915,3 +915,4 @@ MSGCLR 011111 ----- ----- ..... 0011101110 - @X_rb MSGSND 011111 ----- ----- ..... 0011001110 - @X_rb MSGCLRP 011111 ----- ----- ..... 0010101110 - @X_rb MSGSNDP 011111 ----- ----- ..... 0010001110 - @X_rb +MSGSYNC 011111 ----- ----- ----- 1101110110 - diff --git a/target/ppc/translate.c b/target/ppc/translate.c index 087ab8e69d..f092bbeb8b 100644 --- a/target/ppc/translate.c +++ b/target/ppc/translate.c @@ -6239,18 +6239,6 @@ static void gen_icbt_440(DisasContext *ctx) */ } -/* Embedded.Processor Control */ - -static void gen_msgsync(DisasContext *ctx) -{ -#if defined(CONFIG_USER_ONLY) - GEN_PRIV(ctx); -#else - CHK_HV(ctx); -#endif /* defined(CONFIG_USER_ONLY) */ - /* interpreted as no-op */ -} - #if defined(TARGET_PPC64) static void gen_maddld(DisasContext *ctx) { @@ -6853,8 +6841,6 @@ GEN_HANDLER2_E(tlbivax_booke206, "tlbivax", 0x1F, 0x12, 0x18, 0x00000001, PPC_NONE, PPC2_BOOKE206), GEN_HANDLER2_E(tlbilx_booke206, "tlbilx", 0x1F, 0x12, 0x00, 0x03800001, PPC_NONE, PPC2_BOOKE206), -GEN_HANDLER2_E(msgsync, "msgsync", 0x1F, 0x16, 0x1B, 0x00000000, - PPC_NONE, PPC2_ISA300), GEN_HANDLER(wrtee, 0x1F, 0x03, 0x04, 0x000FFC01, PPC_WRTEE), GEN_HANDLER(wrteei, 0x1F, 0x03, 0x05, 0x000E7C01, PPC_WRTEE), GEN_HANDLER(dlmzb, 0x1F, 0x0E, 0x02, 0x00000000, PPC_440_SPEC), diff --git a/target/ppc/translate/processor-ctrl-impl.c.inc b/target/ppc/translate/processor-ctrl-impl.c.inc index 3703001f31..021e365a57 100644 --- a/target/ppc/translate/processor-ctrl-impl.c.inc +++ b/target/ppc/translate/processor-ctrl-impl.c.inc @@ -92,3 +92,12 @@ static bool trans_MSGSNDP(DisasContext *ctx, arg_X_rb *a) #endif return true; } + +static bool trans_MSGSYNC(DisasContext *ctx, arg_MSGSYNC *a) +{ + REQUIRE_INSNS_FLAGS2(ctx, ISA300); + REQUIRE_HV(ctx); + + /* interpreted as no-op */ + return true; +}
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br> --- target/ppc/insn32.decode | 1 + target/ppc/translate.c | 14 -------------- target/ppc/translate/processor-ctrl-impl.c.inc | 9 +++++++++ 3 files changed, 10 insertions(+), 14 deletions(-)