arm-trusted-firmware/docs
Jeenu Viswambharan 21b818c05f BL31: Introduce Exception Handling Framework
EHF is a framework that allows dispatching of EL3 interrupts to their
respective handlers in EL3.

This framework facilitates the firmware-first error handling policy in
which asynchronous exceptions may be routed to EL3. Such exceptions may
be handed over to respective exception handlers. Individual handlers
might further delegate exception handling to lower ELs.

The framework associates the delegated execution to lower ELs with a
priority value. For interrupts, this corresponds to the priorities
programmed in GIC; for other types of exceptions, viz. SErrors or
Synchronous External Aborts, individual dispatchers shall explicitly
associate delegation to a secure priority. In order to prevent lower
priority interrupts from preempting higher priority execution, the
framework provides helpers to control preemption by virtue of
programming Priority Mask register in the interrupt controller.

This commit allows for handling interrupts targeted at EL3. Exception
handlers own interrupts by assigning them a range of secure priorities,
and registering handlers for each priority range it owns.

Support for exception handling in BL31 image is enabled by setting the
build option EL3_EXCEPTION_HANDLING=1.

Documentation to follow.

NOTE: The framework assumes the priority scheme supported by platform
interrupt controller is compliant with that of ARM GIC architecture (v2
or later).

Change-Id: I7224337e4cea47c6ca7d7a4ca22a3716939f7e42
Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>
2017-11-13 07:49:30 +00:00
..
diagrams update the interrupt diagrams 2017-08-17 16:55:25 +08:00
plat hikey*: Update docs 2017-09-29 19:56:39 +01:00
spd Remove Markdown documentation 2017-06-29 16:22:45 +01:00
arm-sip-service.rst Convert documentation to reStructuredText 2017-06-29 11:47:09 +01:00
auth-framework.rst Dynamic selection of ECDSA or RSA 2017-09-22 17:42:40 +08:00
change-log.rst Fix to change.log 2017-08-03 18:24:04 +01:00
cpu-specific-build-macros.rst Cortex-A72: Implement workaround for erratum 859971 2017-09-07 14:22:02 +01:00
firmware-design.rst aarch64: Add PubSub events to capture security state transitions 2017-10-31 10:33:27 +00:00
firmware-update.rst Convert documentation to reStructuredText 2017-06-29 11:47:09 +01:00
interrupt-framework-design.rst Convert documentation to reStructuredText 2017-06-29 11:47:09 +01:00
platform-interrupt-controller-API.rst GIC: Introduce API to get interrupt ID 2017-11-13 07:49:30 +00:00
platform-migration-guide.rst Update documentation to PSCI v1.1 2017-10-13 12:39:47 +01:00
porting-guide.rst GIC: Introduce API to get interrupt ID 2017-11-13 07:49:30 +00:00
psci-lib-integration-guide.rst Manual fixes to reST documentations 2017-06-29 11:48:05 +01:00
psci-pd-tree.rst Convert documentation to reStructuredText 2017-06-29 11:47:09 +01:00
reset-design.rst Convert documentation to reStructuredText 2017-06-29 11:47:09 +01:00
rt-svc-writers-guide.rst Convert documentation to reStructuredText 2017-06-29 11:47:09 +01:00
spm-user-guide.rst SPM: FVP: Introduce port of SPM 2017-11-09 11:34:09 +00:00
trusted-board-boot.rst Convert documentation to reStructuredText 2017-06-29 11:47:09 +01:00
user-guide.rst BL31: Introduce Exception Handling Framework 2017-11-13 07:49:30 +00:00
xlat-tables-lib-v2-design.rst xlat: Add support for EL0 and EL1 mappings 2017-10-05 14:32:12 +01:00