From 76454abf4a2a5df482a753fc435b2de0219659bf Mon Sep 17 00:00:00 2001 From: Jeenu Viswambharan Date: Thu, 30 Nov 2017 12:54:15 +0000 Subject: AArch64: Introduce External Abort handling At present, any External Abort routed to EL3 is reported as an unhandled exception and cause a panic. This patch enables ARM Trusted Firmware to handle External Aborts routed to EL3. With this patch, when an External Abort is received at EL3, its handling is delegated to plat_ea_handler() function. Platforms can provide their own implementation of this function. This patch adds a weak definition of the said function that prints out a message and just panics. In order to support handling External Aborts at EL3, the build option HANDLE_EA_EL3_FIRST must be set to 1. Before this patch, HANDLE_EA_EL3_FIRST wasn't passed down to compilation; this patch fixes that too. Change-Id: I4d07b7e65eb191ff72d63b909ae9512478cd01a1 Signed-off-by: Jeenu Viswambharan --- make_helpers/defaults.mk | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'make_helpers') diff --git a/make_helpers/defaults.mk b/make_helpers/defaults.mk index 9e95cd5a..00ac1268 100644 --- a/make_helpers/defaults.mk +++ b/make_helpers/defaults.mk @@ -92,6 +92,10 @@ GENERATE_COT := 0 # default, they are for Secure EL1. GICV2_G0_FOR_EL3 := 0 +# Route External Aborts to EL3. Disabled by default; External Aborts are handled +# by lower ELs. +HANDLE_EA_EL3_FIRST := 0 + # Whether system coherency is managed in hardware, without explicit software # operations. HW_ASSISTED_COHERENCY := 0 -- cgit v1.2.3