Author: pschweitzer Date: Tue Dec 30 13:51:41 2014 New Revision: 65909
URL: http://svn.reactos.org/svn/reactos?rev=65909&view=rev Log: [FREELDR] Simplify the stack management in PxeCallApi(), we don't need that much
Modified: trunk/reactos/boot/freeldr/freeldr/arch/i386/entry.S
Modified: trunk/reactos/boot/freeldr/freeldr/arch/i386/entry.S URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/arch/i... ============================================================================== --- trunk/reactos/boot/freeldr/freeldr/arch/i386/entry.S [iso-8859-1] (original) +++ trunk/reactos/boot/freeldr/freeldr/arch/i386/entry.S [iso-8859-1] Tue Dec 30 13:51:41 2014 @@ -158,40 +158,32 @@ */ PUBLIC _PxeCallApi _PxeCallApi: - push ebp - mov ebp, esp - - pusha - push es - /* copy entry point */ - mov eax, [ebp + 8] + mov eax, [esp + 4] shl eax, 16 - mov ax, [ebp + 12] + mov ax, [esp + 8] mov dword ptr ds:[BSS_PxeEntryPoint], eax
/* copy function */ - mov ax, [ebp + 16] + mov ax, [esp + 12] mov word ptr ds:[BSS_PxeFunction], ax
/* convert pointer to data buffer to segment/offset */ - mov eax, [ebp + 20] + mov eax, [esp + 16] shr eax, 4 and eax, HEX(0f000) mov word ptr ds:[BSS_PxeBufferSegment], ax - mov eax, [ebp + 20] + mov eax, [esp + 16] and eax, HEX(0ffff) mov word ptr ds:[BSS_PxeBufferOffset], ax + + pusha
/* Set the function ID and call realmode */ mov bx, FNID_PxeCallApi call i386CallRealMode
- pop es popa - - mov esp, ebp - pop ebp
mov ax, word ptr [BSS_PxeResult]