TianoCore EDK2 master
Loading...
Searching...
No Matches
PeiFspWrapperMultiPhaseProcessLib.c File Reference

Go to the source code of this file.

Functions

EFI_STATUS Execute32BitCode (IN UINT64 Function, IN UINT64 Param1, IN UINT64 Param2)
 
EFI_STATUS Execute64BitCode (IN UINT64 Function, IN UINT64 Param1, IN UINT64 Param2)
 
EFI_STATUS EFIAPI CallFspMultiPhaseEntry (IN VOID *FspMultiPhaseParams, IN OUT VOID **FspHobListPtr, IN UINT8 ComponentIndex)
 
EFI_STATUS EFIAPI FspWrapperVariableRequestHandler (IN OUT VOID **FspHobListPtr, IN UINT8 ComponentIndex)
 
EFI_STATUS EFIAPI FspWrapperMultiPhaseHandler (IN OUT VOID **FspHobListPtr, IN UINT8 ComponentIndex)
 

Detailed Description

Support FSP Wrapper MultiPhase process.

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

Definition in file PeiFspWrapperMultiPhaseProcessLib.c.

Function Documentation

◆ CallFspMultiPhaseEntry()

EFI_STATUS EFIAPI CallFspMultiPhaseEntry ( IN VOID *  FspMultiPhaseParams,
IN OUT VOID **  FspHobListPtr,
IN UINT8  ComponentIndex 
)

Call FspsMultiPhase API.

Parameters
[in]FspsMultiPhaseParams- Parameters for MultiPhase API.
[in]FspHobListPtr- Pointer to FSP HobList (valid after FSP-M completed)
[in]ComponentIndex- FSP Component which executing MultiPhase initialization.
Returns
EFI_UNSUPPORTED - the requested FspsMultiPhase API is not supported.
EFI_DEVICE_ERROR - the FSP header was not found.
EFI status returned by FspsMultiPhase API.

Definition at line 66 of file PeiFspWrapperMultiPhaseProcessLib.c.

◆ Execute32BitCode()

EFI_STATUS Execute32BitCode ( IN UINT64  Function,
IN UINT64  Param1,
IN UINT64  Param2 
)

Execute 32-bit FSP API entry code.

Parameters
[in]FunctionThe 32bit code entry to be executed.
[in]Param1The first parameter to pass to 32bit code.
[in]Param2The second parameter to pass to 32bit code.
Returns
EFI_STATUS.

Wrapper for a thunk to transition from long mode to compatibility mode to execute 32-bit code and then transit back to long mode.

Parameters
[in]FunctionThe 32bit code entry to be executed.
[in]Param1The first parameter to pass to 32bit code.
[in]Param2The second parameter to pass to 32bit code.
Returns
EFI_STATUS.

Definition at line 38 of file DispatchExecute.c.

◆ Execute64BitCode()

EFI_STATUS Execute64BitCode ( IN UINT64  Function,
IN UINT64  Param1,
IN UINT64  Param2 
)

Execute 64-bit FSP API entry code.

Parameters
[in]FunctionThe 64bit code entry to be executed.
[in]Param1The first parameter to pass to 64bit code.
[in]Param2The second parameter to pass to 64bit code.
Returns
EFI_STATUS.

Wrapper for a thunk to transition from compatibility mode to long mode to execute 64-bit code and then transit back to compatibility mode.

Parameters
[in]FunctionThe 64bit code entry to be executed.
[in]Param1The first parameter to pass to 64bit code.
[in]Param2The second parameter to pass to 64bit code.
Returns
EFI_STATUS.

Wrapper to execute 64-bit code directly from long mode.

Parameters
[in]FunctionThe 64bit code entry to be executed.
[in]Param1The first parameter to pass to 64bit code.
[in]Param2The second parameter to pass to 64bit code.
Returns
EFI_STATUS.

Definition at line 64 of file DispatchExecute.c.

◆ FspWrapperMultiPhaseHandler()

EFI_STATUS EFIAPI FspWrapperMultiPhaseHandler ( IN OUT VOID **  FspHobListPtr,
IN UINT8  ComponentIndex 
)

FSP Wrapper MultiPhase Handler

Parameters
[in,out]FspHobListPtr- Pointer to FSP HobList (valid after FSP-M completed)
[in]ComponentIndex- FSP Component which executing MultiPhase initialization.
Return values
EFI_UNSUPPORTEDSpecific MultiPhase action was not supported.
EFI_SUCCESSMultiPhase action were completed successfully.

Definition at line 314 of file PeiFspWrapperMultiPhaseProcessLib.c.

◆ FspWrapperVariableRequestHandler()

EFI_STATUS EFIAPI FspWrapperVariableRequestHandler ( IN OUT VOID **  FspHobListPtr,
IN UINT8  ComponentIndex 
)

FSP Wrapper Variable Request Handler

Parameters
[in,out]FspHobListPtr- Pointer to FSP HobList (valid after FSP-M completed)
[in]ComponentIndex- FSP Component which executing MultiPhase initialization.
Return values
EFI_UNSUPPORTEDFSP Wrapper cannot support the specific variable request, or FSP does not support VariableService
EFI_STATUSReturn FSP returned status

Definition at line 147 of file PeiFspWrapperMultiPhaseProcessLib.c.