aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHelge Deller <deller@gmx.de>2025-01-29 04:27:01 +0100
committerHelge Deller <deller@gmx.de>2025-01-30 13:37:20 +0100
commit009e0927f3d8cc852a6fee928dca52b5e9bd2ced (patch)
tree1a82427f93f519e52751dbb9c65242b104a0efc6
parent8f2a1c5926bf933abce54de23d5ae44371c50e23 (diff)
downloadqemu-009e0927f3d8cc852a6fee928dca52b5e9bd2ced.zip
qemu-009e0927f3d8cc852a6fee928dca52b5e9bd2ced.tar.gz
qemu-009e0927f3d8cc852a6fee928dca52b5e9bd2ced.tar.bz2
target/hppa: Drop diag_getshadowregs_pa2 and diag_putshadowregs_pa2
diag_getshadowregs_pa2() and diag_putshadowregs_pa2() were added in commit 3bdf20819e68 based on some analysis of ODE code, but now they conflict with the generic mfdiag/mtdiag instructions. I believe the former analysis was wrong, so remove them again. Note that all diag instructions are badly documented, so most things are based on reverse engineering and thus may be wrong. Signed-off-by: Helge Deller <deller@gmx.de> Fixes: 3bdf20819e68 ("target/hppa: Add diag instructions to set/restore shadow registers") Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
-rw-r--r--target/hppa/insns.decode2
-rw-r--r--target/hppa/translate.c10
2 files changed, 0 insertions, 12 deletions
diff --git a/target/hppa/insns.decode b/target/hppa/insns.decode
index 71074a6..527c453 100644
--- a/target/hppa/insns.decode
+++ b/target/hppa/insns.decode
@@ -646,8 +646,6 @@ xmpyu 001110 ..... ..... 010 .0111 .00 t:5 r1=%ra64 r2=%rb64
diag_putshadowregs_pa1 000101 00 0000 0000 0001 1010 0100 0000
# For 64-bit PA8700 (PCX-W2)
- diag_getshadowregs_pa2 000101 00 0111 1000 0001 1000 0100 0000
- diag_putshadowregs_pa2 000101 00 0111 0000 0001 1000 0100 0000
]
diag_unimp 000101 i:26
}
diff --git a/target/hppa/translate.c b/target/hppa/translate.c
index dc04f9f..30fba52 100644
--- a/target/hppa/translate.c
+++ b/target/hppa/translate.c
@@ -4593,21 +4593,11 @@ static bool trans_diag_getshadowregs_pa1(DisasContext *ctx, arg_empty *a)
return !ctx->is_pa20 && do_getshadowregs(ctx);
}
-static bool trans_diag_getshadowregs_pa2(DisasContext *ctx, arg_empty *a)
-{
- return ctx->is_pa20 && do_getshadowregs(ctx);
-}
-
static bool trans_diag_putshadowregs_pa1(DisasContext *ctx, arg_empty *a)
{
return !ctx->is_pa20 && do_putshadowregs(ctx);
}
-static bool trans_diag_putshadowregs_pa2(DisasContext *ctx, arg_empty *a)
-{
- return ctx->is_pa20 && do_putshadowregs(ctx);
-}
-
static bool trans_diag_unimp(DisasContext *ctx, arg_diag_unimp *a)
{
CHECK_MOST_PRIVILEGED(EXCP_PRIV_OPR);