diff options
author | vanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-04-11 03:36:07 +0000 |
---|---|---|
committer | vanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-04-11 03:36:07 +0000 |
commit | 7b414b4ed6ccdefce8e167ecc7d67ad64118eb94 (patch) | |
tree | 8ac9f25a508ec3f38ee50c3d43a1282c06605330 /MdeModulePkg/Universal/EbcDxe/Ia32 | |
parent | 987da598355ba96e9eb8b78fc4bdca4c3faedfe5 (diff) | |
download | edk2-platforms-7b414b4ed6ccdefce8e167ecc7d67ad64118eb94.tar.xz |
1. add public functions header.
2. apply for doxgen format for file header.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5043 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Universal/EbcDxe/Ia32')
-rw-r--r-- | MdeModulePkg/Universal/EbcDxe/Ia32/EbcLowLevel.S | 34 | ||||
-rw-r--r-- | MdeModulePkg/Universal/EbcDxe/Ia32/EbcLowLevel.asm | 63 |
2 files changed, 44 insertions, 53 deletions
diff --git a/MdeModulePkg/Universal/EbcDxe/Ia32/EbcLowLevel.S b/MdeModulePkg/Universal/EbcDxe/Ia32/EbcLowLevel.S index 5e9828dc11..774692a76a 100644 --- a/MdeModulePkg/Universal/EbcDxe/Ia32/EbcLowLevel.S +++ b/MdeModulePkg/Universal/EbcDxe/Ia32/EbcLowLevel.S @@ -1,15 +1,17 @@ -#****************************************************************************
-#*
-#* Copyright (c) 2006, Intel Corporation
-#* All rights reserved. This program and the accompanying materials
-#* are licensed and made available under the terms and conditions of the BSD License
-#* which accompanies this distribution. The full text of the license may be found at
-#* http://opensource.org/licenses/bsd-license.php
-#*
-#* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-#* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#*
-#****************************************************************************
+##/**@file
+# Low level IA32 specific EBC support routines.
+#
+# Copyright (c) 2007 - 2008, Intel Corporation
+# All rights reserved. This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+#
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+#**/
+
.globl ASM_PFX(CopyMem)
.globl ASM_PFX(EbcLLCALLEXNative)
@@ -37,18 +39,18 @@ ASM_PFX(EbcLLCALLEXNative): mov %ebp,%esp
pop %ebx
pop %ebp
- ret
+ ret
.globl ASM_PFX(EbcLLGetEbcEntryPoint)
ASM_PFX(EbcLLGetEbcEntryPoint):
- ret
+ ret
.globl ASM_PFX(EbcLLGetStackPointer)
ASM_PFX(EbcLLGetStackPointer):
mov %esp,%eax
add $0x4,%eax
- ret
+ ret
.globl ASM_PFX(EbcLLGetReturnValue)
ASM_PFX(EbcLLGetReturnValue):
- ret
+ ret
diff --git a/MdeModulePkg/Universal/EbcDxe/Ia32/EbcLowLevel.asm b/MdeModulePkg/Universal/EbcDxe/Ia32/EbcLowLevel.asm index 4249241e7d..6b7672a837 100644 --- a/MdeModulePkg/Universal/EbcDxe/Ia32/EbcLowLevel.asm +++ b/MdeModulePkg/Universal/EbcDxe/Ia32/EbcLowLevel.asm @@ -1,31 +1,20 @@ - page ,132
- title VM ASSEMBLY LANGUAGE ROUTINES
-;****************************************************************************
-;*
-;* Copyright (c) 2006 - 2007, Intel Corporation
-;* All rights reserved. This program and the accompanying materials
-;* are licensed and made available under the terms and conditions of the BSD License
-;* which accompanies this distribution. The full text of the license may be found at
-;* http://opensource.org/licenses/bsd-license.php
-;*
-;* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-;* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;*
-;****************************************************************************
-;****************************************************************************
-; REV 1.0
-;****************************************************************************
+;/** @file
+; This code provides low level routines that support the Virtual Machine
+; for option ROMs.
;
-; Rev Date Description
-; --- -------- ------------------------------------------------------------
-; 1.0 03/14/01 Initial creation of file.
+; Copyright (c) 2006 - 2008, Intel Corporation. <BR>
+; All rights reserved. This program and the accompanying materials
+; are licensed and made available under the terms and conditions of the BSD License
+; which accompanies this distribution. The full text of the license may be found at
+; http://opensource.org/licenses/bsd-license.php
;
-;****************************************************************************
-
-;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-; This code provides low level routines that support the Virtual Machine
-; for option ROMs.
-;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+;
+;**/
+
+ page ,132
+ title VM ASSEMBLY LANGUAGE ROUTINES
;---------------------------------------------------------------------------
; Equate files needed.
@@ -40,8 +29,8 @@ ;---------------------------------------------------------------------------
.686p
-.model flat
-.code
+.model flat
+.code
;---------------------------------------------------------------------------
;;GenericPostSegment SEGMENT USE16
;---------------------------------------------------------------------------
@@ -51,9 +40,9 @@ CopyMem PROTO C Destination:PTR DWORD, Source:PTR DWORD, Count:DWORD ; EbcLLCALLEXNative
;
; This function is called to execute an EBC CALLEX instruction
-; to native code.
+; to native code.
; This instruction requires that we thunk out to external native
-; code. For IA32, we simply switch stacks and jump to the
+; code. For IA32, we simply switch stacks and jump to the
; specified function. On return, we restore the stack pointer
; to its original location.
;
@@ -64,17 +53,17 @@ _EbcLLCALLEXNative PROC NEAR PUBLIC push ebp
push ebx
mov ebp, esp ; standard function prolog
-
+
; Get function address in a register
; mov ecx, FuncAddr => mov ecx, dword ptr [FuncAddr]
mov ecx, dword ptr [esp]+0Ch
-
+
; Set stack pointer to new value
; mov eax, NewStackPointer => mov eax, dword ptr [NewSp]
mov eax, dword ptr [esp] + 14h
mov edx, dword ptr [esp] + 10h
sub eax, edx
- sub esp, eax
+ sub esp, eax
mov ebx, esp
push ecx
push eax
@@ -88,7 +77,7 @@ _EbcLLCALLEXNative PROC NEAR PUBLIC ; Now call the external routine
call ecx
-
+
; ebp is preserved by the callee. In this function it
; equals the original esp, so set them equal
mov esp, ebp
@@ -105,7 +94,7 @@ _EbcLLCALLEXNative ENDP ; Routine Description:
; The VM thunk code stuffs an EBC entry point into a processor
; register. Since we can't use inline assembly to get it from
-; the interpreter C code, stuff it into the return value
+; the interpreter C code, stuff it into the return value
; register and return.
;
; Arguments:
@@ -121,7 +110,7 @@ _EbcLLGetEbcEntryPoint ENDP ;/*++
;
;Routine Description:
-;
+;
; Return the caller's value of the stack pointer.
;
;Arguments:
@@ -136,7 +125,7 @@ _EbcLLGetEbcEntryPoint ENDP ;
;--*/
-; UINTN EbcLLGetStackPointer()
+; UINTN EbcLLGetStackPointer()
_EbcLLGetStackPointer PROC NEAR PUBLIC
mov eax, esp ; get current stack pointer
add eax, 4 ; stack adjusted by this much when we were called
|