From: Richard Henderson Date: Fri, 15 Feb 2019 10:00:51 +0000 (+0000) Subject: target/ppc: Use helper_mtvscr for reset and gdb X-Git-Tag: v4.0.0-rc0~91^2~7 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c5ba06a391127647d4b5d40f8261bad070a80821;p=thirdparty%2Fqemu.git 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 Acked-by: David Gibson Message-Id: <20190215100058.20015-11-mark.cave-ayland@ilande.co.uk> Signed-off-by: David Gibson --- diff --git a/target/ppc/translate_init.inc.c b/target/ppc/translate_init.inc.c index c9985c0d222..ee574b342e5 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) {