audk/MdeModulePkg/Universal/EbcDxe
Ard Biesheuvel 4d1f5a214b 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>
2016-09-02 07:59:21 +01:00
..
AArch64 MdeModulePkg/EbcDxe AARCH64: use a fixed size thunk structure 2016-09-02 07:59:21 +01:00
Ia32 MdeModulePkg EbcDxe: Convert Ia32/EbcLowLevel.asm to NASM 2016-06-28 09:51:58 +08:00
Ipf Add Missing invocations to VA_END() for VA_START(). 2012-02-01 06:06:08 +00:00
X64 MdeModulePkg EbcDxe: Convert X64/EbcLowLevel.asm to NASM 2016-06-28 09:51:58 +08:00
EbcDxe.inf MdeModulePkg/EbcDxe: Add AARCH64 EBC VM support 2016-08-26 11:52:47 +01:00
EbcDxe.uni MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
EbcDxeExtra.uni MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
EbcExecute.c 1) Add type cast for better coding style. 2014-08-07 08:54:34 +00:00
EbcExecute.h Clean up the private GUID definition in module Level. 2011-09-18 12:21:01 +00:00
EbcInt.c 1) Fix GCC version EBC interpreter bug. 2011-11-21 08:35:14 +00:00
EbcInt.h 1) Fix GCC version EBC interpreter bug. 2011-11-21 08:35:14 +00:00