[FREELDR]
authorPierre Schweitzer <pierre@reactos.org>
Tue, 30 Dec 2014 13:51:41 +0000 (13:51 +0000)
committerPierre Schweitzer <pierre@reactos.org>
Tue, 30 Dec 2014 13:51:41 +0000 (13:51 +0000)
Simplify the stack management in PxeCallApi(), we don't need that much

svn path=/trunk/; revision=65909

reactos/boot/freeldr/freeldr/arch/i386/entry.S

index 7cf097e..63a63c6 100644 (file)
@@ -158,41 +158,33 @@ Int386_return:
  */
 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]
 
     ret