ArmPkg/ArmExceptionLib: use EL0 stack for synchronous exceptions

In order to be able to produce meaningful diagnostic output when taking
synchronous exceptions that have been caused by corruption of the stack
pointer, prepare the EL0 stack pointer and switch to it when handling the
'Sync exception using SPx' exception class.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
This commit is contained in:
Ard Biesheuvel
2017-03-15 16:26:41 +00:00
parent 0b36d8fa73
commit 2d12048958
3 changed files with 82 additions and 38 deletions

View File

@@ -53,10 +53,11 @@
[LibraryClasses]
ArmLib
DebugLib
DefaultExceptionHandlerLib
BaseMemoryLib
CacheMaintenanceLib
DebugLib
DefaultExceptionHandlerLib
MemoryAllocationLib
[Pcd]
gArmTokenSpaceGuid.PcdDebuggerExceptionSupport