AArch64: Introduce External Abort handling
authorJeenu Viswambharan <jeenu.viswambharan@arm.com>
Thu, 30 Nov 2017 12:54:15 +0000 (12:54 +0000)
committerJeenu Viswambharan <jeenu.viswambharan@arm.com>
Fri, 4 May 2018 07:32:42 +0000 (08:32 +0100)
commit76454abf4a2a5df482a753fc435b2de0219659bf
tree8195331234b5517463c1b60eafc6d56a7a134449
parentef653d93ccd6ba1888c61706469021fc623c3318
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 <jeenu.viswambharan@arm.com>
Makefile
bl31/aarch64/runtime_exceptions.S
include/bl31/ea_handle.h [new file with mode: 0644]
include/lib/aarch64/arch.h
include/lib/el3_runtime/aarch64/context.h
include/plat/common/platform.h
make_helpers/defaults.mk
plat/common/aarch64/plat_common.c