]> git.proxmox.com Git - mirror_edk2.git/commit - ArmPkg/Library/ArmExceptionLib/ArmRelocateExceptionLib.inf
ArmPkg: ARM/AArch64 implementation of CpuExceptionHandlerLib
authorCohen, Eugene <eugene@hp.com>
Mon, 7 Mar 2016 15:16:35 +0000 (15:16 +0000)
committerArd Biesheuvel <ard.biesheuvel@linaro.org>
Wed, 16 Mar 2016 11:19:58 +0000 (12:19 +0100)
commit2939c778a3a3f5463d97339f4f3dbf5afb572a5e
tree79d8327d09d406ea08f8f699d79810033deef72a
parentd2bb61a2328d512c0aeb201ab8a5a6497f415afb
ArmPkg: ARM/AArch64 implementation of CpuExceptionHandlerLib

Introduce ARM and AArch64 instances of the CpuExceptionHandlerLib which
provides exception handling and registration of handlers regardless of
execution phase.

Two variants of the ArmExceptionLib are provided: one where exception
handlers reside within the module (meeting appropriate architectural
alignment requirements for the vector table) and another one that will
relocate a copy of thee xception handlers to an address specified by
PcdCpuVectorBaseAddress. The ArmRelocateExceptionLib is intended for use
in cases where ArmExceptionLib is too large for the application
(uncompressed XIP images) as driven by the vector table alignment padding.

The AArch64 build of this library supports execution at EL1, EL2, and EL3
exception levels.

Tested on ARM, and AArch64 with SEC, DXE Core, and CpuDxe modules.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eugene Cohen <eugene@hp.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
ArmPkg/ArmPkg.dsc
ArmPkg/Library/ArmExceptionLib/AArch64/AArch64Exception.c [new file with mode: 0644]
ArmPkg/Library/ArmExceptionLib/AArch64/ExceptionSupport.S [new file with mode: 0644]
ArmPkg/Library/ArmExceptionLib/Arm/ArmException.c [new file with mode: 0644]
ArmPkg/Library/ArmExceptionLib/Arm/ExceptionSupport.S [new file with mode: 0644]
ArmPkg/Library/ArmExceptionLib/Arm/ExceptionSupport.asm [new file with mode: 0644]
ArmPkg/Library/ArmExceptionLib/ArmExceptionLib.c [new file with mode: 0644]
ArmPkg/Library/ArmExceptionLib/ArmExceptionLib.inf [new file with mode: 0644]
ArmPkg/Library/ArmExceptionLib/ArmRelocateExceptionLib.inf [new file with mode: 0644]