On 16 March 2018 at 20:31, Aaron Lindsay <alind...@codeaurora.org> wrote: > Signed-off-by: Aaron Lindsay <alind...@codeaurora.org> > --- > target/arm/cpu.c | 3 +++ > target/arm/cpu.h | 1 + > 2 files changed, 4 insertions(+) > > diff --git a/target/arm/cpu.c b/target/arm/cpu.c > index b0d032c..e544f1d 100644 > --- a/target/arm/cpu.c > +++ b/target/arm/cpu.c > @@ -765,6 +765,7 @@ static void arm_cpu_realizefn(DeviceState *dev, Error > **errp) > /* Some features automatically imply others: */ > if (arm_feature(env, ARM_FEATURE_V8)) { > set_feature(env, ARM_FEATURE_V7); > + set_feature(env, ARM_FEATURE_V7VE); > set_feature(env, ARM_FEATURE_ARM_DIV); > set_feature(env, ARM_FEATURE_LPAE); > } > @@ -1481,6 +1482,7 @@ static void cortex_a7_initfn(Object *obj) > > cpu->dtb_compatible = "arm,cortex-a7"; > set_feature(&cpu->env, ARM_FEATURE_V7); > + set_feature(&cpu->env, ARM_FEATURE_V7VE); > set_feature(&cpu->env, ARM_FEATURE_VFP4); > set_feature(&cpu->env, ARM_FEATURE_NEON); > set_feature(&cpu->env, ARM_FEATURE_THUMB2EE); > @@ -1526,6 +1528,7 @@ static void cortex_a15_initfn(Object *obj) > > cpu->dtb_compatible = "arm,cortex-a15"; > set_feature(&cpu->env, ARM_FEATURE_V7); > + set_feature(&cpu->env, ARM_FEATURE_V7VE); > set_feature(&cpu->env, ARM_FEATURE_VFP4); > set_feature(&cpu->env, ARM_FEATURE_NEON); > set_feature(&cpu->env, ARM_FEATURE_THUMB2EE); > diff --git a/target/arm/cpu.h b/target/arm/cpu.h > index fb2f983..cc1e2fb 100644 > --- a/target/arm/cpu.h > +++ b/target/arm/cpu.h > @@ -1439,6 +1439,7 @@ enum arm_features { > ARM_FEATURE_OMAPCP, /* OMAP specific CP15 ops handling. */ > ARM_FEATURE_THUMB2EE, > ARM_FEATURE_V7MP, /* v7 Multiprocessing Extensions */ > + ARM_FEATURE_V7VE, /* v7 with Virtualization Extensions */ > ARM_FEATURE_V4T, > ARM_FEATURE_V5, > ARM_FEATURE_STRONGARM,
What's the difference between this and ARM_FEATURE_EL2 ? thanks -- PMM