]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFspPkg/Library/BaseFspSwitchStackLib/Ia32/Stack.s
Add dual FSP binaries support.
[mirror_edk2.git] / IntelFspPkg / Library / BaseFspSwitchStackLib / Ia32 / Stack.s
index 4773fe94c239b5f028845651cc7d1b3414deac4e..a21a5b6c61f8928cf550c2973d77253569286d13 100644 (file)
 #------------------------------------------------------------------------------\r
 ASM_GLOBAL ASM_PFX(Pei2LoaderSwitchStack)\r
 ASM_PFX(Pei2LoaderSwitchStack):\r
-    jmp     ASM_PFX(Loader2PeiSwitchStack)\r
+    xorl    %eax, %eax\r
+    jmp     ASM_PFX(FspSwitchStack)\r
 \r
 #------------------------------------------------------------------------------\r
 # UINT32\r
 # EFIAPI\r
 # Loader2PeiSwitchStack (\r
+#   VOID\r
 #   )\r
 #------------------------------------------------------------------------------\r
 ASM_GLOBAL ASM_PFX(Loader2PeiSwitchStack)\r
 ASM_PFX(Loader2PeiSwitchStack):\r
+    jmp     ASM_PFX(FspSwitchStack)\r
+\r
+#------------------------------------------------------------------------------\r
+# UINT32\r
+# EFIAPI\r
+# FspSwitchStack (\r
+#   VOID\r
+#   )\r
+#------------------------------------------------------------------------------\r
+ASM_GLOBAL ASM_PFX(FspSwitchStack)\r
+ASM_PFX(FspSwitchStack):\r
     #\r
     #Save current contexts\r
     #\r
-    push    $exit\r
+    push    %eax\r
     pushf\r
     cli\r
     pusha\r
@@ -59,7 +72,7 @@ ASM_PFX(Loader2PeiSwitchStack):
     add     $0x08,%esp\r
     popa\r
     popf\r
-exit:\r
+    add     $0x04,%esp\r
     ret\r
 \r
 \r