summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAndreas Färber <andreas.faerber@web.de>2011-12-13 18:19:24 +0000
committerPeter Maydell <peter.maydell@linaro.org>2011-12-13 18:19:24 +0000
commit908ce98085124019e31afebc51e80ebb95840c85 (patch)
tree01e2f5eca7babeb96241bea7c898d33b3ed73b4e
parentb3faf5f02e99d30cc43c74fef976701a00a8c4e9 (diff)
downloadfocaccia-qemu-908ce98085124019e31afebc51e80ebb95840c85.tar.gz
focaccia-qemu-908ce98085124019e31afebc51e80ebb95840c85.zip
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>
-rw-r--r--target-arm/helper.c4
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);
     }