]> git.proxmox.com Git - mirror_edk2.git/commit
MdeModulePkg/EbcDxe AARCH64: use a fixed size thunk structure
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Wed, 17 Aug 2016 14:24:52 +0000 (16:24 +0200)
committerArd Biesheuvel <ard.biesheuvel@linaro.org>
Fri, 2 Sep 2016 06:59:21 +0000 (07:59 +0100)
commit4d1f5a214bb3c7904c26f2634294dee2a18be5d3
treec85c5ddf8707130428d08aeacf30a6eabf51edee
parent72b0eaa02679de8a0f0984a4d41ed1386262f3f3
MdeModulePkg/EbcDxe AARCH64: use a fixed size thunk structure

The thunk generation is needlessly complex, given that it attempts to
deal with variable length instructions, which don't exist on AArch64.

So replace it with a simple template coded in assembler, with a matching
struct definition in C. That way, we can create and manipulate the thunks
easily without looping over the instructions looking for 'magic' numbers.

Also, use x16 rather than x9, since it is the architectural register to
use for thunks/veneers.

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: Feng Tian <feng.tian@intel.com>
MdeModulePkg/Universal/EbcDxe/AArch64/EbcLowLevel.S
MdeModulePkg/Universal/EbcDxe/AArch64/EbcSupport.c