X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=EdkModulePkg%2FUniversal%2FEbc%2FDxe%2FIa32%2FEbcLowLevel.S;fp=EdkModulePkg%2FUniversal%2FEbc%2FDxe%2FIa32%2FEbcLowLevel.S;h=2df0f0c3e0ed636956de7fb9546860abac6efe94;hp=712cac2ece1838bbe107f5195694ae8826af834e;hb=73ebf379a4bd48c69befdd8439ac9be952a5814f;hpb=784220c3f79a1c66818ae4dcca2afe7db06a0351 diff --git a/EdkModulePkg/Universal/Ebc/Dxe/Ia32/EbcLowLevel.S b/EdkModulePkg/Universal/Ebc/Dxe/Ia32/EbcLowLevel.S index 712cac2ece..2df0f0c3e0 100644 --- a/EdkModulePkg/Universal/Ebc/Dxe/Ia32/EbcLowLevel.S +++ b/EdkModulePkg/Universal/Ebc/Dxe/Ia32/EbcLowLevel.S @@ -10,18 +10,34 @@ #* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #* #**************************************************************************** +.globl ASM_PFX(CopyMem) + .globl ASM_PFX(EbcLLCALLEXNative) ASM_PFX(EbcLLCALLEXNative): - push %ebp - mov %esp,%ebp - mov 0x8(%esp),%ecx - mov 0xc(%esp),%eax - mov %eax,%esp - call *%ecx - mov %ebp,%esp - mov %ebp,%esp - pop %ebp - ret + push %ebp + push %ebx + mov %esp,%ebp + mov 0xc(%esp),%ecx + mov 0x14(%esp),%eax + mov 0x10(%esp),%edx + sub %edx,%eax + sub %eax,%esp + mov %esp,%ebx + push %ecx + push %eax + push %edx + push %ebx + call ASM_PFX(CopyMem) + pop %eax + pop %eax + pop %eax + pop %ecx + call *%ecx + mov %ebp,%esp + mov %ebp,%esp + pop %ebx + pop %ebp + ret .globl ASM_PFX(EbcLLGetEbcEntryPoint) ASM_PFX(EbcLLGetEbcEntryPoint):