From ec9ce6239d0c3a4e6141961bfb9caae50b9caac9 Mon Sep 17 00:00:00 2001 From: Adrian Herrera Date: Wed, 6 Nov 2019 13:07:28 +0000 Subject: arch-arm: Secure EL2 checking This patch adds Armv8.4-SecEL2 checking. Helpers implementing EL2Enabled, IsSecureEL2Enabled and HaveSecureEL2Ext following the architecture pseudocode are provided. These are intended to be used for checking register access permissions. Change-Id: I3d06d0127cf165c1eeaf3302830742d610cef719 Reviewed-by: Giacomo Travaglini Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23766 Maintainer: Giacomo Travaglini Tested-by: kokoro --- src/arch/arm/utility.hh | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/arch/arm/utility.hh') diff --git a/src/arch/arm/utility.hh b/src/arch/arm/utility.hh index 96f6843c3..7ec44f8e2 100644 --- a/src/arch/arm/utility.hh +++ b/src/arch/arm/utility.hh @@ -166,6 +166,10 @@ currEL(CPSR cpsr) return opModeToEL((OperatingMode) (uint8_t)cpsr.mode); } +bool HaveSecureEL2Ext(ThreadContext *tc); +bool IsSecureEL2Enabled(ThreadContext *tc); +bool EL2Enabled(ThreadContext *tc); + /** * This function checks whether selected EL provided as an argument * is using the AArch32 ISA. This information might be unavailable -- cgit v1.2.3