]> git.proxmox.com Git - mirror_edk2.git/commit
MdeModulePkg/EbcDxe AARCH64: simplify interpreter entry point thunks
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Wed, 17 Aug 2016 14:36:42 +0000 (16:36 +0200)
committerArd Biesheuvel <ard.biesheuvel@linaro.org>
Fri, 2 Sep 2016 06:59:22 +0000 (07:59 +0100)
commit4a2aaff2fca69d9f41c5b8906699ba242278cbaa
tree7674e537d54acf39bc389a20871a3f06ba88b1c5
parent3226e315d20c6f572de818d6d1229a88b5b6e7b3
MdeModulePkg/EbcDxe AARCH64: simplify interpreter entry point thunks

The prototypes of EbcInterpret() and ExecuteEbcImageEntryPoint() are
private to the AARCH64 implementation of EbcDxe, so we can shuffle
the arguments around a bit and make the assembler thunking glue a lot
simpler.

For ExecuteEbcImageEntryPoint(), this involves passing the EntryPoint
argument as the third parameter, rather than the first, which allows
us to do a tail call. For EbcInterpret(), instead of copying each
argument beyond #8 from one native stack frame to the next (before
another copy is made into the VM stack), pass a pointer to the
argument stack.

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