audk/ArmPkg/Library/ArmExceptionLib/AArch64
Ard Biesheuvel 1b02a38329 ArmPkg/ArmExceptionLib: reimplement register stack/unstack routines
This replaces the somewhat opaque preprocessor based stack/unstack macros
with open coded ldp/stp sequences to preserve the interrupted context
before handing over to the exception handler in C.

This removes various arithmetic operations on the stack pointer, and
reduces the exception return critical section to its minimum size (i.e.,
the bare minimum required to populate the ELR and SPSR registers and invoke
the eret).

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
Reviewed-by: Eugene Cohen <eugene@hp.com>
2016-03-22 14:48:06 +01:00
..
AArch64Exception.c ArmPkg: ARM/AArch64 implementation of CpuExceptionHandlerLib 2016-03-16 12:19:58 +01:00
ExceptionSupport.S ArmPkg/ArmExceptionLib: reimplement register stack/unstack routines 2016-03-22 14:48:06 +01:00