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/i386/entry.S?rev=65909&r1=65908&r2=65909&view=diff
==============================================================================
--- 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]
 


Reply via email to