]> git.proxmox.com Git - mirror_edk2.git/commit
ArmPkg/ArmExceptionLib: fold exception handler prologue into vector table
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Wed, 16 Mar 2016 15:45:39 +0000 (16:45 +0100)
committerArd Biesheuvel <ard.biesheuvel@linaro.org>
Tue, 22 Mar 2016 13:39:02 +0000 (14:39 +0100)
commit0dbbaa557331fe2ba26c3e2d66be5d21d1f5f7bb
tree5f246741ebe7d6cb4fb3e89a775f2c89417905bb
parenta34608ca9670e07d8a4b6de2914b2960132d4b16
ArmPkg/ArmExceptionLib: fold exception handler prologue into vector table

Unlike the AArch32 vector table, which has room for a single instruction
for each exception type, the AArch64 exception table has 128 byte slots,
which can easily hold the shared prologues that are emitted out of line.

So refactor this code into a single macro, and expand it into each vector
table slot. Since the address of the command handler entry point is no
longer patched in by the C code, we can just emit the literal into each
vector entry directly.

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>
ArmPkg/Library/ArmExceptionLib/AArch64/ExceptionSupport.S