diff options
author | Andreas Färber <andreas.faerber@web.de> | 2011-12-13 18:19:24 +0000 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2011-12-13 18:19:24 +0000 |
commit | 908ce98085124019e31afebc51e80ebb95840c85 (patch) | |
tree | 01e2f5eca7babeb96241bea7c898d33b3ed73b4e /target-arm/helper.c | |
parent | b3faf5f02e99d30cc43c74fef976701a00a8c4e9 (diff) |
target-arm: Infer Thumb division feature from M profile
M => THUMB_DIV
Signed-off-by: Andreas Färber <andreas.faerber@web.de>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target-arm/helper.c')
-rw-r--r-- | target-arm/helper.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/target-arm/helper.c b/target-arm/helper.c index 281b3151e9..a566aa3ec9 100644 --- a/target-arm/helper.c +++ b/target-arm/helper.c @@ -163,7 +163,6 @@ static void cpu_reset_model_id(CPUARMState *env, uint32_t id) case ARM_CPUID_CORTEXM3: set_feature(env, ARM_FEATURE_V7); set_feature(env, ARM_FEATURE_M); - set_feature(env, ARM_FEATURE_THUMB_DIV); break; case ARM_CPUID_ANY: /* For userspace emulation. */ set_feature(env, ARM_FEATURE_V7); @@ -243,6 +242,9 @@ static void cpu_reset_model_id(CPUARMState *env, uint32_t id) if (arm_feature(env, ARM_FEATURE_V5)) { set_feature(env, ARM_FEATURE_V4T); } + if (arm_feature(env, ARM_FEATURE_M)) { + set_feature(env, ARM_FEATURE_THUMB_DIV); + } if (arm_feature(env, ARM_FEATURE_ARM_DIV)) { set_feature(env, ARM_FEATURE_THUMB_DIV); } |