mirror of https://github.com/acidanthera/audk.git
309 lines
5.1 KiB
C
309 lines
5.1 KiB
C
/** @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
|
|
);
|
|
|
|
/**
|
|
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
|