aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Dykes <mardyk01@review.trustedfirmware.org>2020-03-31 19:55:44 +0000
committerTrustedFirmware Code Review <review@review.trustedfirmware.org>2020-03-31 19:55:44 +0000
commit614be75df67af7ca37d6b4ae4bf40729403e2838 (patch)
treefb500c0be9f586565b647c3d5b7efd5e08ae369c
parent426d5f9c9efb21e1a3504297c8b397500f254fb7 (diff)
parentfd092be23982c160a3855f1e396b7311b5225bf9 (diff)
downloadplatform_external_arm-trusted-firmware-614be75df67af7ca37d6b4ae4bf40729403e2838.tar.gz
platform_external_arm-trusted-firmware-614be75df67af7ca37d6b4ae4bf40729403e2838.tar.bz2
platform_external_arm-trusted-firmware-614be75df67af7ca37d6b4ae4bf40729403e2838.zip
Merge "Add get_current_el_maybe_constant()" into integration
-rw-r--r--include/arch/aarch64/arch_helpers.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/include/arch/aarch64/arch_helpers.h b/include/arch/aarch64/arch_helpers.h
index 240c1fbda..7c30758d0 100644
--- a/include/arch/aarch64/arch_helpers.h
+++ b/include/arch/aarch64/arch_helpers.h
@@ -531,6 +531,23 @@ static inline unsigned int get_current_el(void)
return GET_EL(read_CurrentEl());
}
+static inline unsigned int get_current_el_maybe_constant(void)
+{
+#if defined(IMAGE_AT_EL1)
+ return 1;
+#elif defined(IMAGE_AT_EL2)
+ return 2; /* no use-case in TF-A */
+#elif defined(IMAGE_AT_EL3)
+ return 3;
+#else
+ /*
+ * If we do not know which exception level this is being built for
+ * (e.g. built for library), fall back to run-time detection.
+ */
+ return get_current_el();
+#endif
+}
+
/*
* Check if an EL is implemented from AA64PFR0 register fields.
*/