On Mon, 2 Nov 2020 at 10:58, <remi.denis.courm...@huawei.com> wrote: > > From: Rémi Denis-Courmont <remi.denis.courm...@huawei.com> > > This checks if EL2 is enabled (meaning EL2 registers take effects) in > the current security context. > > Signed-off-by: Rémi Denis-Courmont <remi.denis.courm...@huawei.com> > --- > target/arm/cpu.h | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > > diff --git a/target/arm/cpu.h b/target/arm/cpu.h > index c18a916766..aaf3671806 100644 > --- a/target/arm/cpu.h > +++ b/target/arm/cpu.h > @@ -2040,6 +2040,15 @@ static inline bool arm_is_secure(CPUARMState *env) > return arm_is_secure_below_el3(env); > } > > +/* Return true if the current security state has AArch64 EL2 or AArch32 Hyp > */ > +static inline bool arm_is_el2_enabled(CPUARMState *env) > +{ > + if (arm_feature(env, ARM_FEATURE_EL2)) { > + return !arm_is_secure_below_el3(env); > + } > + return false;
You could usefully add a comment mentioning the EL2Enabled() pseudocode and that we'll need to adjust this if we implement Secure EL2 in future. thanks -- PMM