summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Universal/EbcDxe/EbcInt.h
diff options
context:
space:
mode:
authorjyao1 <jyao1@6f19259b-4bc3-4df7-8a09-765794883524>2011-11-21 08:35:14 +0000
committerjyao1 <jyao1@6f19259b-4bc3-4df7-8a09-765794883524>2011-11-21 08:35:14 +0000
commitfa97cbf4ef6f4fd2dc0312c09b6b5003780facb8 (patch)
treeef755da1081954d431c37d23934cd67d481fe067 /MdeModulePkg/Universal/EbcDxe/EbcInt.h
parentea71453f72e9a1990aaf7af76689a3f69c7b603f (diff)
downloadedk2-platforms-fa97cbf4ef6f4fd2dc0312c09b6b5003780facb8.tar.xz
1) Fix GCC version EBC interpreter bug.
Add missing EFIPAI for EbcInterpret and ExecuteEbcImageEntryPoint(). Get return value in EbcLLCALLEXNative(), remove EbcLLGetReturnValue(). 2) Fix IA32 EBC interpreter bug on MOVsnw and MOVsnd. 3) Some cleanup Add missing ReturnEBCStack() for IA32 build. Remove unnecessary EbcLLGetStackPointer() for X64 and IPF build. Remove deadcode EbcLLGetStackPointer() and EbcLLGetReturnValue() in IA32/X64/IPF ASM code. Dump more info in CommonEbcExceptionHandler(). Signed-off-by: jyao1 Reviewed-by: Elvinli git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12745 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Universal/EbcDxe/EbcInt.h')
-rw-r--r--MdeModulePkg/Universal/EbcDxe/EbcInt.h34
1 files changed, 3 insertions, 31 deletions
diff --git a/MdeModulePkg/Universal/EbcDxe/EbcInt.h b/MdeModulePkg/Universal/EbcDxe/EbcInt.h
index 98ba7e66f3..01ac441215 100644
--- a/MdeModulePkg/Universal/EbcDxe/EbcInt.h
+++ b/MdeModulePkg/Universal/EbcDxe/EbcInt.h
@@ -146,21 +146,6 @@ EbcLLGetEbcEntryPoint (
);
/**
- Returns the caller's value of the stack pointer.
-
- We adjust it by 4 here because when they called us, the return address
- is put on the stack, thereby lowering it by 4 bytes.
-
- @return The current value of the stack pointer for the caller.
-
-**/
-UINTN
-EFIAPI
-EbcLLGetStackPointer (
- VOID
- );
-
-/**
This function is called to execute an EBC CALLEX instruction.
This instruction requires that we thunk out to external native
code. For x64, we switch stacks, copy the arguments to the stack
@@ -172,8 +157,10 @@ EbcLLGetStackPointer (
@param EbcSp The new EBC stack pointer.
@param FramePtr The frame pointer.
+ @return The unmodified value returned by the native code.
+
**/
-VOID
+INT64
EFIAPI
EbcLLCALLEXNative (
IN UINTN CallAddr,
@@ -206,21 +193,6 @@ EbcLLCALLEX (
);
/**
- When EBC calls native, on return the VM has to stuff the return
- value into a VM register. It's assumed here that the value is still
- in the register, so simply return and the caller should get the
- return result properly.
-
- @return The unmodified value returned by the native code.
-
-**/
-INT64
-EFIAPI
-EbcLLGetReturnValue (
- VOID
- );
-
-/**
Returns the stack index and buffer assosicated with the Handle parameter.
@param Handle The EFI handle as the index to the EBC stack.