• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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)30 SwapStack (
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