From a84fac1426acd56f6dff4f6023611c1aefe748de Mon Sep 17 00:00:00 2001 From: Peter Maydell Date: Wed, 1 Feb 2012 17:23:04 +0000 Subject: [PATCH] target-arm/helper.c: tb_flush() on CPU reset Since target-arm has some CPUState fields for which we take the approach of baking assumptions about them into translated code and then calling tb_flush() when the fields change, we must also tb_flush on CPU reset, because reset is a change of those fields. Signed-off-by: Peter Maydell Signed-off-by: Andrzej Zaborowski --- target-arm/helper.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/target-arm/helper.c b/target-arm/helper.c index 34b226ecf0..4929372489 100644 --- a/target-arm/helper.c +++ b/target-arm/helper.c @@ -344,6 +344,11 @@ void cpu_reset(CPUARMState *env) set_float_detect_tininess(float_tininess_before_rounding, &env->vfp.standard_fp_status); tlb_flush(env, 1); + /* Reset is a state change for some CPUState fields which we + * bake assumptions about into translated code, so we need to + * tb_flush(). + */ + tb_flush(env); } static int vfp_gdb_get_reg(CPUState *env, uint8_t *buf, int reg)