TianoCore EDK2 master
Loading...
Searching...
No Matches
FspSecPlatformLib.h File Reference

Go to the source code of this file.

Functions

UINTN EFIAPI SecPlatformInit (VOID)
 
UINTN EFIAPI LoadMicrocode (IN VOID *FsptUpdDataPtr)
 
UINTN EFIAPI SecCarInit (IN VOID *FsptUpdDataPtr)
 
EFI_STATUS EFIAPI FspUpdSignatureCheck (IN UINT32 ApiIdx, IN VOID *ApiParam)
 
EFI_STATUS EFIAPI FspMultiPhaseSiInitApiHandler (IN UINT32 ApiIdx, IN VOID *ApiParam)
 
BOOLEAN EFIAPI FspMultiPhasePlatformGetNumberOfPhases (IN UINTN ApiIdx, IN OUT UINT32 *NumberOfPhasesSupported)
 

Detailed Description

Copyright (c) 2015 - 2020, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file FspSecPlatformLib.h.

Function Documentation

◆ FspMultiPhasePlatformGetNumberOfPhases()

BOOLEAN EFIAPI FspMultiPhasePlatformGetNumberOfPhases ( IN UINTN  ApiIdx,
IN OUT UINT32 *  NumberOfPhasesSupported 
)

FSP MultiPhase Platform Get Number Of Phases Function.

Allows an FSP binary to dynamically update the number of phases at runtime. For example, UPD settings could negate the need to enter the multi-phase flow in certain scenarios. If this function returns FALSE, the default number of phases provided by PcdMultiPhaseNumberOfPhases will be returned to the bootloader instead.

Parameters
[in]ApiIdx- Internal index of the FSP API.
[in]NumberOfPhasesSupported- How many phases are supported by current FSP Component.
Return values
TRUE- NumberOfPhases are modified by Platform during runtime.
FALSE- The Default build time NumberOfPhases should be used.

◆ FspMultiPhaseSiInitApiHandler()

EFI_STATUS EFIAPI FspMultiPhaseSiInitApiHandler ( IN UINT32  ApiIdx,
IN VOID *  ApiParam 
)

This function handles FspMultiPhaseSiInitApi. Starting from FSP 2.4 this function is obsolete and FspMultiPhaseSiInitApiHandlerV2 is the replacement.

Parameters
[in]ApiIdxInternal index of the FSP API.
[in]ApiParamParameter of the FSP API.

Definition at line 39 of file PlatformSecLibNull.c.

◆ FspUpdSignatureCheck()

EFI_STATUS EFIAPI FspUpdSignatureCheck ( IN UINT32  ApiIdx,
IN VOID *  ApiParam 
)

This function check the signature of UPD.

Parameters
[in]ApiIdxInternal index of the FSP API.
[in]ApiParamParameter of the FSP API.

Definition at line 21 of file PlatformSecLibNull.c.

◆ LoadMicrocode()

UINTN EFIAPI LoadMicrocode ( IN VOID *  FsptUpdDataPtr)

This function loads Microcode.

This function must be in ASM file, because stack is not established yet. This function is optional. If a library instance does not provide this function, the default one will be used.

The callee should not use XMM6/XMM7. The return address is saved in MM7.

Parameters
[in]FsptUpdDataPtrAddress pointer to the FSPT_UPD data structure. It is saved in ESP.
Return values
insaved in EAX/RAX - 0 means Microcode is loaded successfully. other means Microcode is not loaded successfully.

◆ SecCarInit()

UINTN EFIAPI SecCarInit ( IN VOID *  FsptUpdDataPtr)

This function initializes the CAR.

This function must be in ASM file, because stack is not established yet.

The callee should not use XMM6/XMM7. The return address is saved in MM7.

Parameters
[in]FsptUpdDataPtrAddress pointer to the FSPT_UPD data structure. It is saved in ESP.
Return values
insaved in EAX/RAX - 0 means CAR initialization success. other means CAR initialization fail.

◆ SecPlatformInit()

UINTN EFIAPI SecPlatformInit ( VOID  )

This function performs platform level initialization.

This function must be in ASM file, because stack is not established yet. This function is optional. If a library instance does not provide this function, the default empty one will be used.

The callee should not use XMM6/XMM7. The return address is saved in MM7.

Return values
insaved in EAX/RAX - 0 means platform initialization success. other means platform initialization fail.