summaryrefslogtreecommitdiff
path: root/src/arch/arm64/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/arm64/Kconfig')
-rw-r--r--src/arch/arm64/Kconfig16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/arch/arm64/Kconfig b/src/arch/arm64/Kconfig
index 9b89c37c10..2d71067e45 100644
--- a/src/arch/arm64/Kconfig
+++ b/src/arch/arm64/Kconfig
@@ -23,6 +23,20 @@ source "src/arch/arm64/armv8/Kconfig"
if ARCH_ARM64
+config ARM64_CURRENT_EL
+ int
+ default 3
+ range 1 3
+ help
+ The exception level on which coreboot is started. Accepted
+ values are: 1 (EL1), 2 (EL2) and 3 (EL3). This option can be
+ used to restrict access to available control registers in case
+ prior firmware already dropped to a lower exception level. By default,
+ coreboot is the first firmware that runs on the system and should thus
+ always run on EL3. This option is only provided for edge-case platforms
+ that require running a different firmware before coreboot which drops
+ to a lower exception level.
+
config ARM64_USE_ARCH_TIMER
bool
default n
@@ -30,7 +44,7 @@ config ARM64_USE_ARCH_TIMER
config ARM64_USE_ARM_TRUSTED_FIRMWARE
bool
default n
- depends on ARCH_RAMSTAGE_ARM64
+ depends on ARCH_RAMSTAGE_ARM64 && ARM64_CURRENT_EL = 3
config ARM64_BL31_EXTERNAL_FILE
string "Path to external BL31.ELF (leave empty to build from source)"