]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Universal/Ebc/Dxe/Ia32/EbcLowLevel.S
Add MonotonicCounter driver, which produces MonotonicCounter arch protocols
[mirror_edk2.git] / MdeModulePkg / Universal / Ebc / Dxe / Ia32 / EbcLowLevel.S
1 #****************************************************************************
2 #*
3 #* Copyright (c) 2006, Intel Corporation
4 #* All rights reserved. This program and the accompanying materials
5 #* are licensed and made available under the terms and conditions of the BSD License
6 #* which accompanies this distribution. The full text of the license may be found at
7 #* http://opensource.org/licenses/bsd-license.php
8 #*
9 #* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 #* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11 #*
12 #****************************************************************************
13 .globl ASM_PFX(CopyMem)
14
15 .globl ASM_PFX(EbcLLCALLEXNative)
16 ASM_PFX(EbcLLCALLEXNative):
17 push %ebp
18 push %ebx
19 mov %esp,%ebp
20 mov 0xc(%esp),%ecx
21 mov 0x14(%esp),%eax
22 mov 0x10(%esp),%edx
23 sub %edx,%eax
24 sub %eax,%esp
25 mov %esp,%ebx
26 push %ecx
27 push %eax
28 push %edx
29 push %ebx
30 call ASM_PFX(CopyMem)
31 pop %eax
32 pop %eax
33 pop %eax
34 pop %ecx
35 call *%ecx
36 mov %ebp,%esp
37 mov %ebp,%esp
38 pop %ebx
39 pop %ebp
40 ret
41
42 .globl ASM_PFX(EbcLLGetEbcEntryPoint)
43 ASM_PFX(EbcLLGetEbcEntryPoint):
44 ret
45
46 .globl ASM_PFX(EbcLLGetStackPointer)
47 ASM_PFX(EbcLLGetStackPointer):
48 mov %esp,%eax
49 add $0x4,%eax
50 ret
51
52 .globl ASM_PFX(EbcLLGetReturnValue)
53 ASM_PFX(EbcLLGetReturnValue):
54 ret