mirror of https://github.com/xemu-project/xemu.git
target/ppc: move msgclrp/msgsndp to decodetree
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br> Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Message-Id: <20221006200654.725390-6-matheus.ferst@eldorado.org.br> [danielhb: ppc32 build fix in trans_(MSGCLRP|MSGSNDP)] Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
This commit is contained in:
parent
98f43417b6
commit
e8e09d7da7
|
@ -913,3 +913,5 @@ TLBIEL 011111 ..... - .. . . ..... 0100010010 - @X_tlbie
|
|||
|
||||
MSGCLR 011111 ----- ----- ..... 0011101110 - @X_rb
|
||||
MSGSND 011111 ----- ----- ..... 0011001110 - @X_rb
|
||||
MSGCLRP 011111 ----- ----- ..... 0010101110 - @X_rb
|
||||
MSGSNDP 011111 ----- ----- ..... 0010001110 - @X_rb
|
||||
|
|
|
@ -6241,28 +6241,6 @@ static void gen_icbt_440(DisasContext *ctx)
|
|||
|
||||
/* Embedded.Processor Control */
|
||||
|
||||
#if defined(TARGET_PPC64)
|
||||
static void gen_msgclrp(DisasContext *ctx)
|
||||
{
|
||||
#if defined(CONFIG_USER_ONLY)
|
||||
GEN_PRIV(ctx);
|
||||
#else
|
||||
CHK_SV(ctx);
|
||||
gen_helper_book3s_msgclrp(cpu_env, cpu_gpr[rB(ctx->opcode)]);
|
||||
#endif /* defined(CONFIG_USER_ONLY) */
|
||||
}
|
||||
|
||||
static void gen_msgsndp(DisasContext *ctx)
|
||||
{
|
||||
#if defined(CONFIG_USER_ONLY)
|
||||
GEN_PRIV(ctx);
|
||||
#else
|
||||
CHK_SV(ctx);
|
||||
gen_helper_book3s_msgsndp(cpu_env, cpu_gpr[rB(ctx->opcode)]);
|
||||
#endif /* defined(CONFIG_USER_ONLY) */
|
||||
}
|
||||
#endif
|
||||
|
||||
static void gen_msgsync(DisasContext *ctx)
|
||||
{
|
||||
#if defined(CONFIG_USER_ONLY)
|
||||
|
@ -6896,10 +6874,6 @@ GEN_HANDLER(vmladduhm, 0x04, 0x11, 0xFF, 0x00000000, PPC_ALTIVEC),
|
|||
GEN_HANDLER_E(maddhd_maddhdu, 0x04, 0x18, 0xFF, 0x00000000, PPC_NONE,
|
||||
PPC2_ISA300),
|
||||
GEN_HANDLER_E(maddld, 0x04, 0x19, 0xFF, 0x00000000, PPC_NONE, PPC2_ISA300),
|
||||
GEN_HANDLER2_E(msgsndp, "msgsndp", 0x1F, 0x0E, 0x04, 0x03ff0001,
|
||||
PPC_NONE, PPC2_ISA207S),
|
||||
GEN_HANDLER2_E(msgclrp, "msgclrp", 0x1F, 0x0E, 0x05, 0x03ff0001,
|
||||
PPC_NONE, PPC2_ISA207S),
|
||||
#endif
|
||||
|
||||
#undef GEN_INT_ARITH_ADD
|
||||
|
|
|
@ -68,3 +68,29 @@ static bool trans_MSGSND(DisasContext *ctx, arg_X_rb *a)
|
|||
#endif
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool trans_MSGCLRP(DisasContext *ctx, arg_X_rb *a)
|
||||
{
|
||||
REQUIRE_64BIT(ctx);
|
||||
REQUIRE_INSNS_FLAGS2(ctx, ISA207S);
|
||||
REQUIRE_SV(ctx);
|
||||
#if !defined(CONFIG_USER_ONLY) && defined(TARGET_PPC64)
|
||||
gen_helper_book3s_msgclrp(cpu_env, cpu_gpr[a->rb]);
|
||||
#else
|
||||
qemu_build_not_reached();
|
||||
#endif
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool trans_MSGSNDP(DisasContext *ctx, arg_X_rb *a)
|
||||
{
|
||||
REQUIRE_64BIT(ctx);
|
||||
REQUIRE_INSNS_FLAGS2(ctx, ISA207S);
|
||||
REQUIRE_SV(ctx);
|
||||
#if !defined(CONFIG_USER_ONLY) && defined(TARGET_PPC64)
|
||||
gen_helper_book3s_msgsndp(cpu_env, cpu_gpr[a->rb]);
|
||||
#else
|
||||
qemu_build_not_reached();
|
||||
#endif
|
||||
return true;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue