X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=IntelFspPkg%2FLibrary%2FBaseFspSwitchStackLib%2FIa32%2FStack.s;h=4773fe94c239b5f028845651cc7d1b3414deac4e;hb=d5fb1edfb16a2af29486ffbf5aa32a036da9caa4;hp=6932cd8448cae645217b5297086a169d0ed1a919;hpb=c8ec22a266cdd134ac99c3021003710130613a40;p=mirror_edk2.git
diff --git a/IntelFspPkg/Library/BaseFspSwitchStackLib/Ia32/Stack.s b/IntelFspPkg/Library/BaseFspSwitchStackLib/Ia32/Stack.s
index 6932cd8448..4773fe94c2 100644
--- a/IntelFspPkg/Library/BaseFspSwitchStackLib/Ia32/Stack.s
+++ b/IntelFspPkg/Library/BaseFspSwitchStackLib/Ia32/Stack.s
@@ -1,6 +1,6 @@
#------------------------------------------------------------------------------
#
-# Copyright (c) 2014, Intel Corporation. All rights reserved.
+# Copyright (c) 2014 - 2015, Intel Corporation. All rights reserved.
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
@@ -15,8 +15,6 @@
#
#------------------------------------------------------------------------------
-ASM_GLOBAL ASM_PFX(Pei2LoaderSwitchStack)
-ASM_GLOBAL ASM_PFX(Loader2PeiSwitchStack)
#------------------------------------------------------------------------------
# UINT32
@@ -37,27 +35,30 @@ ASM_PFX(Pei2LoaderSwitchStack):
#------------------------------------------------------------------------------
ASM_GLOBAL ASM_PFX(Loader2PeiSwitchStack)
ASM_PFX(Loader2PeiSwitchStack):
-#Save current contexts
+ #
+ #Save current contexts
+ #
push $exit
pushf
- pushf
cli
pusha
- push $0x0
- push $0x0
+ sub $0x08, %esp
sidt (%esp)
+ #
# Load new stack
+ #
push %esp
call ASM_PFX(SwapStack)
- mov %eax,%esp
+ movl %eax, %esp
+ #
# Restore previous contexts
+ #
lidt (%esp)
- add $8,%esp
+ add $0x08,%esp
popa
popf
- popf
exit:
ret