Home | History | Annotate | Download | only in Library
      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