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 | 86e72db6aaa2164d96fcab7290125ce3492718c6 (patch) | |
tree | 2b7d08d9d1718f62112f824b75cf2a1d8e1f5969 /target-arm | |
parent | 908ce98085124019e31afebc51e80ebb95840c85 (diff) | |
download | qemu-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.c | 6 |
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) |