summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Universal/EbcDxe/Ia32
diff options
context:
space:
mode:
authorvanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524>2008-04-11 03:36:07 +0000
committervanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524>2008-04-11 03:36:07 +0000
commit7b414b4ed6ccdefce8e167ecc7d67ad64118eb94 (patch)
tree8ac9f25a508ec3f38ee50c3d43a1282c06605330 /MdeModulePkg/Universal/EbcDxe/Ia32
parent987da598355ba96e9eb8b78fc4bdca4c3faedfe5 (diff)
downloadedk2-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.S34
-rw-r--r--MdeModulePkg/Universal/EbcDxe/Ia32/EbcLowLevel.asm63
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