| /** @file | |
| Copyright (c) 2014 - 2019, Intel Corporation. All rights reserved.<BR> | |
| SPDX-License-Identifier: BSD-2-Clause-Patent | |
| **/ | |
| #ifndef _FSP_COMMON_LIB_H_ | |
| #define _FSP_COMMON_LIB_H_ | |
| #include <FspGlobalData.h> | |
| #include <FspMeasurePointId.h> | |
| /** | |
| This function sets the FSP global data pointer. | |
| @param[in] FspData Fsp global data pointer. | |
| **/ | |
| VOID | |
| EFIAPI | |
| SetFspGlobalDataPointer ( | |
| IN FSP_GLOBAL_DATA *FspData | |
| ); | |
| /** | |
| This function gets the FSP global data pointer. | |
| **/ | |
| FSP_GLOBAL_DATA * | |
| EFIAPI | |
| GetFspGlobalDataPointer ( | |
| VOID | |
| ); | |
| /** | |
| This function gets back the FSP API first parameter passed by the bootloader. | |
| @retval ApiParameter FSP API first parameter passed by the bootloader. | |
| **/ | |
| UINTN | |
| EFIAPI | |
| GetFspApiParameter ( | |
| VOID | |
| ); | |
| /** | |
| This function gets back the FSP API second parameter passed by the bootloader. | |
| @retval ApiParameter FSP API second parameter passed by the bootloader. | |
| **/ | |
| UINTN | |
| EFIAPI | |
| GetFspApiParameter2 ( | |
| VOID | |
| ); | |
| /** | |
| This function returns the FSP entry stack pointer from address of the first API parameter. | |
| @retval FSP entry stack pointer. | |
| **/ | |
| VOID * | |
| EFIAPI | |
| GetFspEntryStack ( | |
| VOID | |
| ); | |
| /** | |
| This function sets the FSP API parameter in the stack. | |
| @param[in] Value New parameter value. | |
| **/ | |
| VOID | |
| EFIAPI | |
| SetFspApiParameter ( | |
| IN UINT32 Value | |
| ); | |
| /** | |
| This function set the API status code returned to the BootLoader. | |
| @param[in] ReturnStatus Status code to return. | |
| **/ | |
| VOID | |
| EFIAPI | |
| SetFspApiReturnStatus ( | |
| IN UINTN ReturnStatus | |
| ); | |
| /** | |
| This function sets the context switching stack to a new stack frame. | |
| @param[in] NewStackTop New core stack to be set. | |
| **/ | |
| VOID | |
| EFIAPI | |
| SetFspCoreStackPointer ( | |
| IN VOID *NewStackTop | |
| ); | |
| /** | |
| This function sets the platform specific data pointer. | |
| @param[in] PlatformData Fsp platform specific data pointer. | |
| **/ | |
| VOID | |
| EFIAPI | |
| SetFspPlatformDataPointer ( | |
| IN VOID *PlatformData | |
| ); | |
| /** | |
| This function gets the platform specific data pointer. | |
| @param[in] PlatformData Fsp platform specific data pointer. | |
| **/ | |
| VOID * | |
| EFIAPI | |
| GetFspPlatformDataPointer ( | |
| VOID | |
| ); | |
| /** | |
| This function sets the UPD data pointer. | |
| @param[in] UpdDataPtr UPD data pointer. | |
| **/ | |
| VOID | |
| EFIAPI | |
| SetFspUpdDataPointer ( | |
| IN VOID *UpdDataPtr | |
| ); | |
| /** | |
| This function gets the UPD data pointer. | |
| @return UpdDataPtr UPD data pointer. | |
| **/ | |
| VOID * | |
| EFIAPI | |
| GetFspUpdDataPointer ( | |
| VOID | |
| ); | |
| /** | |
| This function sets the memory init UPD data pointer. | |
| @param[in] MemoryInitUpdPtr memory init UPD data pointer. | |
| **/ | |
| VOID | |
| EFIAPI | |
| SetFspMemoryInitUpdDataPointer ( | |
| IN VOID *MemoryInitUpdPtr | |
| ); | |
| /** | |
| This function gets the memory init UPD data pointer. | |
| @return memory init UPD data pointer. | |
| **/ | |
| VOID * | |
| EFIAPI | |
| GetFspMemoryInitUpdDataPointer ( | |
| VOID | |
| ); | |
| /** | |
| This function sets the silicon init UPD data pointer. | |
| @param[in] SiliconInitUpdPtr silicon init UPD data pointer. | |
| **/ | |
| VOID | |
| EFIAPI | |
| SetFspSiliconInitUpdDataPointer ( | |
| IN VOID *SiliconInitUpdPtr | |
| ); | |
| /** | |
| This function gets the silicon init UPD data pointer. | |
| @return silicon init UPD data pointer. | |
| **/ | |
| VOID * | |
| EFIAPI | |
| GetFspSiliconInitUpdDataPointer ( | |
| VOID | |
| ); | |
| /** | |
| This function sets the smm init UPD data pointer. | |
| @param[in] SmmInitUpdPtr smm init UPD data pointer. | |
| **/ | |
| VOID | |
| EFIAPI | |
| SetFspSmmInitUpdDataPointer ( | |
| IN VOID *SmmInitUpdPtr | |
| ); | |
| /** | |
| This function gets the smm init UPD data pointer. | |
| @return smm init UPD data pointer. | |
| **/ | |
| VOID * | |
| EFIAPI | |
| GetFspSmmInitUpdDataPointer ( | |
| VOID | |
| ); | |
| /** | |
| Set FSP measurement point timestamp. | |
| @param[in] Id Measurement point ID. | |
| @return performance timestamp. | |
| **/ | |
| UINT64 | |
| EFIAPI | |
| SetFspMeasurePoint ( | |
| IN UINT8 Id | |
| ); | |
| /** | |
| This function gets the FSP info header pointer. | |
| @retval FspInfoHeader FSP info header pointer | |
| **/ | |
| FSP_INFO_HEADER * | |
| EFIAPI | |
| GetFspInfoHeader ( | |
| VOID | |
| ); | |
| /** | |
| This function sets the FSP info header pointer. | |
| @param[in] FspInfoHeader FSP info header pointer | |
| **/ | |
| VOID | |
| EFIAPI | |
| SetFspInfoHeader ( | |
| FSP_INFO_HEADER *FspInfoHeader | |
| ); | |
| /** | |
| This function gets the FSP info header pointer from the API context. | |
| @retval FspInfoHeader FSP info header pointer | |
| **/ | |
| FSP_INFO_HEADER * | |
| EFIAPI | |
| GetFspInfoHeaderFromApiContext ( | |
| VOID | |
| ); | |
| /** | |
| This function gets the CfgRegion data pointer. | |
| @return CfgRegion data pointer. | |
| **/ | |
| VOID * | |
| EFIAPI | |
| GetFspCfgRegionDataPointer ( | |
| VOID | |
| ); | |
| /** | |
| This function gets FSP API calling mode. | |
| @retval API calling mode | |
| **/ | |
| UINT8 | |
| EFIAPI | |
| GetFspApiCallingIndex ( | |
| VOID | |
| ); | |
| /** | |
| This function sets FSP API calling mode. | |
| @param[in] Index API calling index | |
| **/ | |
| VOID | |
| EFIAPI | |
| SetFspApiCallingIndex ( | |
| UINT8 Index | |
| ); | |
| /** | |
| This function gets FSP Phase StatusCode. | |
| @retval StatusCode | |
| **/ | |
| UINT32 | |
| EFIAPI | |
| GetPhaseStatusCode ( | |
| VOID | |
| ); | |
| /** | |
| This function sets FSP Phase StatusCode. | |
| @param[in] Mode Phase StatusCode | |
| **/ | |
| VOID | |
| EFIAPI | |
| SetPhaseStatusCode ( | |
| UINT32 StatusCode | |
| ); | |
| /** | |
| This function updates the return status of the FSP API with requested reset type and returns to Boot Loader. | |
| @param[in] FspResetType Reset type that needs to returned as API return status | |
| **/ | |
| VOID | |
| EFIAPI | |
| FspApiReturnStatusReset ( | |
| IN EFI_STATUS FspResetType | |
| ); | |
| #endif |