]> git.proxmox.com Git - mirror_edk2.git/blame - IntelFsp2Pkg/Library/BaseFspSwitchStackLib/FspSwitchStackLib.c
IntelFsp2Pkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / IntelFsp2Pkg / Library / BaseFspSwitchStackLib / FspSwitchStackLib.c
CommitLineData
cf1d4549
JY
1/** @file\r
2\r
3 Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>\r
9672cd30 4 SPDX-License-Identifier: BSD-2-Clause-Patent\r
cf1d4549
JY
5\r
6**/\r
7\r
8#include <Base.h>\r
9#include <Library/BaseLib.h>\r
10#include <Library/FspCommonLib.h>\r
11\r
12/**\r
13\r
14 Switch the current stack to the previous saved stack.\r
15\r
16 @param[in] NewStack The new stack to be switched.\r
17\r
18 @return OldStack After switching to the saved stack,\r
19 this value will be saved in eax before returning.\r
20\r
21\r
22**/\r
23UINT32\r
24SwapStack (\r
25 IN UINT32 NewStack\r
26 )\r
27{\r
28 FSP_GLOBAL_DATA *FspData;\r
29 UINT32 OldStack;\r
30\r
31 FspData = GetFspGlobalDataPointer ();\r
32 OldStack = FspData->CoreStack;\r
33 FspData->CoreStack = NewStack;\r
34 return OldStack;\r
35}\r
36\r