arm-trusted-firmware/include
Achin Gupta 07f4e078b6 Introduce new exception handling framework
This patch introduces the reworked exception handling logic which lays
the foundation for accessing runtime services in later patches. The
type of an exception has a greater say in the way it is
handled. SP_EL3 is used as the stack pointer for:

1. Determining the type of exception and handling the unexpected ones
   on the exception stack

2. Saving and restoring the essential general purpose and system
   register state after exception entry and prior to exception exit.

SP_EL0 is used as the stack pointer for handling runtime service
requests e.g. SMCs. A new structure for preserving general purpose
register state has been added to the 'cpu_context' structure. All
assembler ensures that it does not use callee saved registers
(x19-x29). The C runtime preserves them across functions calls. Hence
EL3 code does not have to save and restore them explicitly.

Since the exception handling framework has undergone substantial change,
the changes have been kept in separate files to aid readability. These
files will replace the existing ones in subsequent patches.

Change-Id: Ice418686592990ff7a4260771e8d6676e6c8c5ef
2014-02-17 18:51:44 +00:00
..
aarch64 psci: Use context library for preserving EL3 state 2014-02-17 18:51:44 +00:00
stdlib Add Firmware Image Package creation tool 2014-02-17 18:51:43 +00:00
asm_macros.S Introduce new exception handling framework 2014-02-17 18:51:44 +00:00
bakery_lock.h Update year in copyright text to 2014 2014-01-17 10:27:53 +00:00
bl1.h Update year in copyright text to 2014 2014-01-17 10:27:53 +00:00
bl2.h Add Firmware Image Package (FIP) driver 2014-02-17 18:51:44 +00:00
bl31.h Update year in copyright text to 2014 2014-01-17 10:27:53 +00:00
bl_common.h Update year in copyright text to 2014 2014-01-17 10:27:53 +00:00
cm_macros.S Introduce new exception handling framework 2014-02-17 18:51:44 +00:00
context.h Introduce new exception handling framework 2014-02-17 18:51:44 +00:00
context_mgmt.h Add context management library 2014-02-17 18:51:44 +00:00
debug.h Introduce new exception handling framework 2014-02-17 18:51:44 +00:00
firmware_image_package.h Add Firmware Image Package creation tool 2014-02-17 18:51:43 +00:00
io_storage.h Add Firmware Image Package (FIP) driver 2014-02-17 18:51:44 +00:00
mmio.h Probe for GICv3 re-distributors on core bring-up 2014-01-17 10:27:53 +00:00
pm.h Update year in copyright text to 2014 2014-01-17 10:27:53 +00:00
psci.h Add runtime services framework 2014-02-17 18:51:44 +00:00
runtime_svc.h Introduce new exception handling framework 2014-02-17 18:51:44 +00:00
semihosting.h Implement load_image in terms of IO abstraction 2014-02-17 18:51:43 +00:00
spinlock.h Update year in copyright text to 2014 2014-01-17 10:27:53 +00:00