summaryrefslogtreecommitdiff
path: root/target-arm
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
commit86e72db6aaa2164d96fcab7290125ce3492718c6 (patch)
tree2b7d08d9d1718f62112f824b75cf2a1d8e1f5969 /target-arm
parent908ce98085124019e31afebc51e80ebb95840c85 (diff)
downloadqemu-86e72db6aaa2164d96fcab7290125ce3492718c6.tar.gz
qemu-86e72db6aaa2164d96fcab7290125ce3492718c6.tar.bz2
qemu-86e72db6aaa2164d96fcab7290125ce3492718c6.zip
target-arm: Infer VFP feature from VFPv3
VFP3 => VFP Signed-off-by: Andreas Färber <andreas.faerber@web.de> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target-arm')
-rw-r--r--target-arm/helper.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/target-arm/helper.c b/target-arm/helper.c
index a566aa3ec9..bd5576c804 100644
--- a/target-arm/helper.c
+++ b/target-arm/helper.c
@@ -121,7 +121,6 @@ static void cpu_reset_model_id(CPUARMState *env, uint32_t id)
break;
case ARM_CPUID_CORTEXA8:
set_feature(env, ARM_FEATURE_V7);
- set_feature(env, ARM_FEATURE_VFP);
set_feature(env, ARM_FEATURE_VFP3);
set_feature(env, ARM_FEATURE_NEON);
set_feature(env, ARM_FEATURE_THUMB2EE);
@@ -139,7 +138,6 @@ static void cpu_reset_model_id(CPUARMState *env, uint32_t id)
break;
case ARM_CPUID_CORTEXA9:
set_feature(env, ARM_FEATURE_V7);
- set_feature(env, ARM_FEATURE_VFP);
set_feature(env, ARM_FEATURE_VFP3);
set_feature(env, ARM_FEATURE_VFP_FP16);
set_feature(env, ARM_FEATURE_NEON);
@@ -166,7 +164,6 @@ static void cpu_reset_model_id(CPUARMState *env, uint32_t id)
break;
case ARM_CPUID_ANY: /* For userspace emulation. */
set_feature(env, ARM_FEATURE_V7);
- set_feature(env, ARM_FEATURE_VFP);
set_feature(env, ARM_FEATURE_VFP3);
set_feature(env, ARM_FEATURE_VFP4);
set_feature(env, ARM_FEATURE_VFP_FP16);
@@ -248,6 +245,9 @@ static void cpu_reset_model_id(CPUARMState *env, uint32_t id)
if (arm_feature(env, ARM_FEATURE_ARM_DIV)) {
set_feature(env, ARM_FEATURE_THUMB_DIV);
}
+ if (arm_feature(env, ARM_FEATURE_VFP3)) {
+ set_feature(env, ARM_FEATURE_VFP);
+ }
}
void cpu_reset(CPUARMState *env)