]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkModulePkg/Universal/Ebc/Dxe/Ia32/EbcLowLevel.asm
Retiring the ANT/JAVA build and removing the older EDK II packages that required...
[mirror_edk2.git] / EdkModulePkg / Universal / Ebc / Dxe / Ia32 / EbcLowLevel.asm
diff --git a/EdkModulePkg/Universal/Ebc/Dxe/Ia32/EbcLowLevel.asm b/EdkModulePkg/Universal/Ebc/Dxe/Ia32/EbcLowLevel.asm
deleted file mode 100644 (file)
index 4249241..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-  page    ,132\r
-  title   VM ASSEMBLY LANGUAGE ROUTINES\r
-;****************************************************************************\r
-;*                                                                         \r
-;*  Copyright (c) 2006 - 2007, Intel Corporation                                                         \r
-;*  All rights reserved. This program and the accompanying materials                          \r
-;*  are licensed and made available under the terms and conditions of the BSD License         \r
-;*  which accompanies this distribution.  The full text of the license may be found at        \r
-;*  http://opensource.org/licenses/bsd-license.php                                            \r
-;*                                                                                            \r
-;*  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
-;*  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
-;*                                                                          \r
-;****************************************************************************\r
-;****************************************************************************\r
-;                                   REV 1.0\r
-;****************************************************************************\r
-;\r
-; Rev  Date      Description\r
-; ---  --------  ------------------------------------------------------------\r
-; 1.0  03/14/01  Initial creation of file.\r
-;\r
-;****************************************************************************\r
-                             \r
-;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\r
-; This code provides low level routines that support the Virtual Machine\r
-; for option ROMs. \r
-;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\r
-\r
-;---------------------------------------------------------------------------\r
-; Equate files needed.\r
-;---------------------------------------------------------------------------\r
-\r
-.XLIST\r
-\r
-.LIST\r
-\r
-;---------------------------------------------------------------------------\r
-; Assembler options\r
-;---------------------------------------------------------------------------\r
-\r
-.686p\r
-.model  flat        \r
-.code        \r
-;---------------------------------------------------------------------------\r
-;;GenericPostSegment      SEGMENT USE16\r
-;---------------------------------------------------------------------------\r
-CopyMem  PROTO  C Destination:PTR DWORD, Source:PTR DWORD, Count:DWORD\r
-\r
-;****************************************************************************\r
-; EbcLLCALLEXNative\r
-;\r
-; This function is called to execute an EBC CALLEX instruction\r
-; to native code. \r
-; This instruction requires that we thunk out to external native\r
-; code. For IA32, we simply switch stacks and jump to the \r
-; specified function. On return, we restore the stack pointer\r
-; to its original location.\r
-;\r
-; Destroys no working registers.\r
-;****************************************************************************\r
-; VOID EbcLLCALLEXNative(UINTN FuncAddr, UINTN NewStackPointer, VOID *FramePtr)\r
-_EbcLLCALLEXNative        PROC    NEAR    PUBLIC\r
-      push   ebp\r
-      push   ebx\r
-      mov    ebp, esp              ; standard function prolog\r
-      \r
-      ; Get function address in a register\r
-      ; mov ecx, FuncAddr => mov ecx, dword ptr [FuncAddr]\r
-      mov    ecx, dword ptr [esp]+0Ch\r
-      \r
-      ; Set stack pointer to new value\r
-      ; mov eax, NewStackPointer => mov eax, dword ptr [NewSp]\r
-      mov    eax, dword ptr [esp] + 14h\r
-      mov    edx, dword ptr [esp] + 10h\r
-      sub    eax, edx\r
-      sub    esp, eax      \r
-      mov    ebx, esp\r
-      push   ecx\r
-      push   eax\r
-      push   edx\r
-      push   ebx\r
-      call   CopyMem\r
-      pop    eax\r
-      pop    eax\r
-      pop    eax\r
-      pop    ecx\r
-\r
-      ; Now call the external routine\r
-      call  ecx\r
-      \r
-      ; ebp is preserved by the callee. In this function it\r
-      ; equals the original esp, so set them equal\r
-      mov    esp, ebp\r
-\r
-      ; Standard function epilog\r
-      mov      esp, ebp\r
-      pop      ebx\r
-      pop      ebp\r
-      ret\r
-_EbcLLCALLEXNative    ENDP\r
-\r
-\r
-; UINTN EbcLLGetEbcEntryPoint(VOID);\r
-; Routine Description:\r
-;   The VM thunk code stuffs an EBC entry point into a processor\r
-;   register. Since we can't use inline assembly to get it from\r
-;   the interpreter C code, stuff it into the return value \r
-;   register and return.\r
-;\r
-; Arguments:\r
-;     None.\r
-;\r
-; Returns:\r
-;     The contents of the register in which the entry point is passed.\r
-;\r
-_EbcLLGetEbcEntryPoint        PROC    NEAR    PUBLIC\r
-    ret\r
-_EbcLLGetEbcEntryPoint    ENDP\r
-\r
-;/*++\r
-;\r
-;Routine Description:\r
-;  \r
-;  Return the caller's value of the stack pointer.\r
-;\r
-;Arguments:\r
-;\r
-;  None.\r
-;\r
-;Returns:\r
-;\r
-;  The current value of the stack pointer for the caller. We\r
-;  adjust it by 4 here because when they called us, the return address\r
-;  is put on the stack, thereby lowering it by 4 bytes.\r
-;\r
-;--*/\r
-\r
-; UINTN EbcLLGetStackPointer()            \r
-_EbcLLGetStackPointer        PROC    NEAR    PUBLIC\r
-    mov    eax, esp      ; get current stack pointer\r
-    add   eax, 4        ; stack adjusted by this much when we were called\r
-    ret\r
-_EbcLLGetStackPointer    ENDP\r
-\r
-; UINT64 EbcLLGetReturnValue(VOID);\r
-; Routine Description:\r
-;   When EBC calls native, on return the VM has to stuff the return\r
-;   value into a VM register. It's assumed here that the value is still\r
-;    in the register, so simply return and the caller should get the\r
-;   return result properly.\r
-;\r
-; Arguments:\r
-;     None.\r
-;\r
-; Returns:\r
-;     The unmodified value returned by the native code.\r
-;\r
-_EbcLLGetReturnValue   PROC    NEAR    PUBLIC\r
-    ret\r
-_EbcLLGetReturnValue    ENDP\r
-\r
-END\r