diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2012-02-01 17:23:04 +0000 |
---|---|---|
committer | Andrzej Zaborowski <balrogg@gmail.com> | 2012-02-17 08:34:43 +0100 |
commit | a84fac1426acd56f6dff4f6023611c1aefe748de (patch) | |
tree | 35415977b4e56022874951179531a2f31c1987ca /target-arm | |
parent | 761c9eb0fafa59821e3ded9e4d5b33d5ab8a0e9e (diff) |
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 <peter.maydell@linaro.org>
Signed-off-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
Diffstat (limited to 'target-arm')
-rw-r--r-- | target-arm/helper.c | 5 |
1 files changed, 5 insertions, 0 deletions
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) |