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 #ifndef _FSP_SWITCH_STACK_LIB_H_ 15 #define _FSP_SWITCH_STACK_LIB_H_ 16 17 /** 18 19 This function will switch the current stack to the previous saved stack. 20 Before calling the previous stack has to be set in FSP_GLOBAL_DATA.CoreStack. 21 EIP 22 FLAGS 16 bit FLAGS 16 bit 23 EDI 24 ESI 25 EBP 26 ESP 27 EBX 28 EDX 29 ECX 30 EAX 31 DWORD IDT base1 32 StackPointer: DWORD IDT base2 33 34 @return ReturnKey After switching to the saved stack, 35 this value will be saved in eax before returning. 36 37 38 **/ 39 UINT32 40 EFIAPI 41 Pei2LoaderSwitchStack ( 42 VOID 43 ); 44 45 #endif 46