mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-11-05 20:35:44 +00:00
target-arm: add feature flag for ARMv8
Signed-off-by: Mans Rullgard <mans@mansr.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
c3cb8e7780
commit
81e69fb093
3 changed files with 8 additions and 1 deletions
|
@ -157,6 +157,11 @@ static void arm_cpu_realizefn(DeviceState *dev, Error **errp)
|
|||
CPUARMState *env = &cpu->env;
|
||||
|
||||
/* Some features automatically imply others: */
|
||||
if (arm_feature(env, ARM_FEATURE_V8)) {
|
||||
set_feature(env, ARM_FEATURE_V7);
|
||||
set_feature(env, ARM_FEATURE_ARM_DIV);
|
||||
set_feature(env, ARM_FEATURE_LPAE);
|
||||
}
|
||||
if (arm_feature(env, ARM_FEATURE_V7)) {
|
||||
set_feature(env, ARM_FEATURE_VAPA);
|
||||
set_feature(env, ARM_FEATURE_THUMB2);
|
||||
|
@ -744,7 +749,7 @@ static void pxa270c5_initfn(Object *obj)
|
|||
static void arm_any_initfn(Object *obj)
|
||||
{
|
||||
ARMCPU *cpu = ARM_CPU(obj);
|
||||
set_feature(&cpu->env, ARM_FEATURE_V7);
|
||||
set_feature(&cpu->env, ARM_FEATURE_V8);
|
||||
set_feature(&cpu->env, ARM_FEATURE_VFP4);
|
||||
set_feature(&cpu->env, ARM_FEATURE_VFP_FP16);
|
||||
set_feature(&cpu->env, ARM_FEATURE_NEON);
|
||||
|
|
|
@ -387,6 +387,7 @@ enum arm_features {
|
|||
ARM_FEATURE_MPIDR, /* has cp15 MPIDR */
|
||||
ARM_FEATURE_PXN, /* has Privileged Execute Never bit */
|
||||
ARM_FEATURE_LPAE, /* has Large Physical Address Extension */
|
||||
ARM_FEATURE_V8,
|
||||
};
|
||||
|
||||
static inline int arm_feature(CPUARMState *env, int feature)
|
||||
|
|
|
@ -42,6 +42,7 @@
|
|||
#define ENABLE_ARCH_6K arm_feature(env, ARM_FEATURE_V6K)
|
||||
#define ENABLE_ARCH_6T2 arm_feature(env, ARM_FEATURE_THUMB2)
|
||||
#define ENABLE_ARCH_7 arm_feature(env, ARM_FEATURE_V7)
|
||||
#define ENABLE_ARCH_8 arm_feature(env, ARM_FEATURE_V8)
|
||||
|
||||
#define ARCH(x) do { if (!ENABLE_ARCH_##x) goto illegal_op; } while(0)
|
||||
|
||||
|
|
Loading…
Reference in a new issue