1 /** @file 2 3 Copyright (c) 2014, Intel Corporation. All rights reserved.<BR> 4 This program and the accompanying materials 5 are licensed and made available under the terms and conditions of the BSD License 6 which accompanies this distribution. The full text of the license may be found at 7 http://opensource.org/licenses/bsd-license.php. 8 9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 11 12 **/ 13 14 #include <Base.h> 15 #include <Library/BaseLib.h> 16 #include <Library/FspCommonLib.h> 17 18 /** 19 20 Switch the current stack to the previous saved stack. 21 22 @param[in] NewStack The new stack to be switched. 23 24 @return OldStack After switching to the saved stack, 25 this value will be saved in eax before returning. 26 27 28 **/ 29 UINT32 SwapStack(IN UINT32 NewStack)30SwapStack ( 31 IN UINT32 NewStack 32 ) 33 { 34 FSP_GLOBAL_DATA *FspData; 35 UINT32 OldStack; 36 37 FspData = GetFspGlobalDataPointer (); 38 OldStack = FspData->CoreStack; 39 FspData->CoreStack = NewStack; 40 return OldStack; 41 } 42 43