/** @file Copyright (c) 2014 - 2015, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef _SEC_FSP_H_ #define _SEC_FSPE_H_ #include #include #include #include #include #include #include #include #include #define FSP_MCUD_SIGNATURE SIGNATURE_32 ('M', 'C', 'U', 'D') #define FSP_PER0_SIGNATURE SIGNATURE_32 ('P', 'E', 'R', '0') /** Calculate the FSP IDT gate descriptor. @param[in] IdtEntryTemplate IDT gate descriptor template. @return FSP specific IDT gate descriptor. **/ UINT64 FspGetExceptionHandler( IN UINT64 IdtEntryTemplate ); /** Initialize the FSP global data region. It needs to be done as soon as possible after the stack is setup. @param[in,out] PeiFspData Pointer of the FSP global data. @param[in] BootLoaderStack BootLoader stack. @param[in] ApiIdx The index of the FSP API. **/ VOID FspGlobalDataInit ( IN OUT FSP_GLOBAL_DATA *PeiFspData, IN UINT32 BootLoaderStack, IN UINT8 ApiIdx ); /** Adjust the FSP data pointers after the stack is migrated to memory. @param[in] OffsetGap The offset gap between the old stack and the new stack. **/ VOID FspDataPointerFixUp ( IN UINT32 OffsetGap ); /** This interface returns the base address of FSP binary. @return FSP binary base address. **/ UINT32 EFIAPI AsmGetFspBaseAddress ( VOID ); /** This interface gets FspInfoHeader pointer @return FSP binary base address. **/ UINT32 EFIAPI AsmGetFspInfoHeader ( VOID ); /** This function gets the FSP UPD region offset in flash. @return the offset of the UPD region. **/ UINT32 EFIAPI GetFspUpdRegionOffset ( VOID ); #endif