]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFspPkg/Library/BaseFspSwitchStackLib/Ia32/Stack.asm
Add dual FSP binaries support.
[mirror_edk2.git] / IntelFspPkg / Library / BaseFspSwitchStackLib / Ia32 / Stack.asm
index d04f229a6b41ba733b8c2ab2b48cbf8aaf7861a9..1efab520590bfc88e653fed765b3859b9f53a7f0 100644 (file)
@@ -1,6 +1,6 @@
 ;------------------------------------------------------------------------------\r
 ;\r
-; Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>\r
+; Copyright (c) 2014 - 2015, Intel Corporation. All rights reserved.<BR>\r
 ; This program and the accompanying materials\r
 ; are licensed and made available under the terms and conditions of the BSD License\r
 ; which accompanies this distribution.  The full text of the license may be found at\r
@@ -28,7 +28,8 @@
 ;------------------------------------------------------------------------------\r
 EXTERNDEF  C   MeasurePoint:PROC\r
 Pei2LoaderSwitchStack   PROC C PUBLIC\r
-    jmp     Loader2PeiSwitchStack\r
+    xor     eax, eax\r
+    jmp     FspSwitchStack\r
 Pei2LoaderSwitchStack   ENDP\r
 \r
 ;------------------------------------------------------------------------------\r
@@ -38,10 +39,21 @@ Pei2LoaderSwitchStack   ENDP
 ;   VOID\r
 ;   )\r
 ;------------------------------------------------------------------------------\r
-EXTERNDEF  C   SwapStack:PROC\r
 Loader2PeiSwitchStack   PROC C PUBLIC\r
+    jmp     FspSwitchStack\r
+Loader2PeiSwitchStack   ENDP\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT32\r
+; EFIAPI\r
+; FspSwitchStack (\r
+;   VOID\r
+;   )\r
+;------------------------------------------------------------------------------\r
+EXTERNDEF  C   SwapStack:PROC\r
+FspSwitchStack   PROC C PUBLIC\r
     ; Save current contexts\r
-    push    offset exit\r
+    push    eax\r
     pushfd\r
     cli\r
     pushad\r
@@ -58,8 +70,8 @@ Loader2PeiSwitchStack   PROC C PUBLIC
     add     esp, 8\r
     popad\r
     popfd\r
-exit:\r
+    add     esp, 4\r
     ret\r
-Loader2PeiSwitchStack   ENDP\r
+FspSwitchStack   ENDP\r
 \r
     END\r