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