summaryrefslogtreecommitdiffstats
path: root/target/ppc/translate_init.inc.c
diff options
context:
space:
mode:
authorRichard Henderson2019-02-15 11:00:51 +0100
committerDavid Gibson2019-02-18 01:00:44 +0100
commitc5ba06a391127647d4b5d40f8261bad070a80821 (patch)
tree77c50edb79dff598e38a527e682a07fbcc9ec17b /target/ppc/translate_init.inc.c
parenttarget/ppc: Pass integer to helper_mtvscr (diff)
downloadqemu-c5ba06a391127647d4b5d40f8261bad070a80821.tar.gz
qemu-c5ba06a391127647d4b5d40f8261bad070a80821.tar.xz
qemu-c5ba06a391127647d4b5d40f8261bad070a80821.zip
target/ppc: Use helper_mtvscr for reset and gdb
Not setting flush_to_zero from gdb_set_avr_reg was a bug. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Acked-by: David Gibson <david@gibson.dropbear.id.au> Message-Id: <20190215100058.20015-11-mark.cave-ayland@ilande.co.uk> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'target/ppc/translate_init.inc.c')
-rw-r--r--target/ppc/translate_init.inc.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/target/ppc/translate_init.inc.c b/target/ppc/translate_init.inc.c
index c9985c0d22..ee574b342e 100644
--- a/target/ppc/translate_init.inc.c
+++ b/target/ppc/translate_init.inc.c
@@ -601,10 +601,9 @@ static void spr_write_excp_vector(DisasContext *ctx, int sprn, int gprn)
static inline void vscr_init(CPUPPCState *env, uint32_t val)
{
- env->vscr = val;
/* Altivec always uses round-to-nearest */
set_float_rounding_mode(float_round_nearest_even, &env->vec_status);
- set_flush_to_zero(vscr_nj, &env->vec_status);
+ helper_mtvscr(env, val);
}
#ifdef CONFIG_USER_ONLY
@@ -9603,7 +9602,7 @@ static int gdb_set_avr_reg(CPUPPCState *env, uint8_t *mem_buf, int n)
}
if (n == 32) {
ppc_maybe_bswap_register(env, mem_buf, 4);
- env->vscr = ldl_p(mem_buf);
+ helper_mtvscr(env, ldl_p(mem_buf));
return 4;
}
if (n == 33) {