mirror of https://github.com/acidanthera/audk.git
Allow EbcLowLevel.S to be linked correctly with 'ELFGCC' toolchain.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8059 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
0428a6cb12
commit
7b23d0d8b9
|
@ -36,8 +36,8 @@
|
||||||
.global _CopyMem;
|
.global _CopyMem;
|
||||||
|
|
||||||
# VOID EbcLLCALLEXNative(UINTN FuncAddr, UINTN NewStackPointer, VOID *FramePtr)
|
# VOID EbcLLCALLEXNative(UINTN FuncAddr, UINTN NewStackPointer, VOID *FramePtr)
|
||||||
.global _EbcLLCALLEXNative;
|
.global ASM_PFX(EbcLLCALLEXNative);
|
||||||
_EbcLLCALLEXNative:
|
ASM_PFX(EbcLLCALLEXNative):
|
||||||
push %rbp
|
push %rbp
|
||||||
push %rbx
|
push %rbx
|
||||||
mov %rsp, %rbp
|
mov %rsp, %rbp
|
||||||
|
@ -51,7 +51,7 @@ _EbcLLCALLEXNative:
|
||||||
sub %rsp, %r8
|
sub %rsp, %r8
|
||||||
mov %rsp, %rcx
|
mov %rsp, %rcx
|
||||||
sub %rsp, 0x20
|
sub %rsp, 0x20
|
||||||
call _CopyMem
|
call ASM_PFX(CopyMem)
|
||||||
add %rsp, 0x20
|
add %rsp, 0x20
|
||||||
|
|
||||||
# Considering the worst case, load 4 potiential arguments
|
# Considering the worst case, load 4 potiential arguments
|
||||||
|
@ -84,8 +84,8 @@ _EbcLLCALLEXNative:
|
||||||
# Returns:
|
# Returns:
|
||||||
# The contents of the register in which the entry point is passed.
|
# The contents of the register in which the entry point is passed.
|
||||||
#
|
#
|
||||||
.global _EbcLLGetEbcEntryPoint;
|
.global ASM_PFX(EbcLLGetEbcEntryPoint);
|
||||||
_EbcLLGetEbcEntryPoint:
|
ASM_PFX(EbcLLGetEbcEntryPoint):
|
||||||
ret
|
ret
|
||||||
|
|
||||||
#/*++
|
#/*++
|
||||||
|
@ -107,16 +107,16 @@ _EbcLLGetEbcEntryPoint:
|
||||||
#--*/
|
#--*/
|
||||||
|
|
||||||
# UINTN EbcLLGetStackPointer()
|
# UINTN EbcLLGetStackPointer()
|
||||||
.global _EbcLLGetStackPointer;
|
.global ASM_PFX(EbcLLGetStackPointer);
|
||||||
_EbcLLGetStackPointer:
|
ASM_PFX(EbcLLGetStackPointer):
|
||||||
mov %rsp, %rax
|
mov %rsp, %rax
|
||||||
# Stack adjusted by this much when we were called,
|
# Stack adjusted by this much when we were called,
|
||||||
# For this function, it's 4.
|
# For this function, it's 4.
|
||||||
add $4, %rax
|
add $4, %rax
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.global _EbcLLGetReturnValue;
|
.global ASM_PFX(EbcLLGetReturnValue);
|
||||||
_EbcLLGetReturnValue:
|
ASM_PFX(EbcLLGetReturnValue):
|
||||||
# UINT64 EbcLLGetReturnValue(VOID);
|
# UINT64 EbcLLGetReturnValue(VOID);
|
||||||
# Routine Description:
|
# Routine Description:
|
||||||
# When EBC calls native, on return the VM has to stuff the return
|
# When EBC calls native, on return the VM has to stuff the return
|
||||||
|
|
Loading…
Reference in New Issue