IntelFsp2WrapperPkg/FspiWrapperPeim : FSP-I wrapper PEIM entrypoint

FSP-I wrapper PEIM entrypoint is for including FSP-SMM code for both
dispatch and API mode.

Signed-off-by: Hongbin1 Zhang <hongbin1.zhang@intel.com>
Cc: Chasel Chiu <chasel.chiu@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Duggapu Chinni B <chinni.b.duggapu@intel.com>
Cc: Chen Gang C <gang.c.chen@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Cc: Ted Kuo <ted.kuo@intel.com>
Cc: Ashraf Ali S <ashraf.ali.s@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
This commit is contained in:
Hongbin1 Zhang 2024-10-06 21:02:11 +08:00 committed by mergify[bot]
parent 816a02cb3b
commit 6fd8533b62
3 changed files with 82 additions and 1 deletions

View File

@ -0,0 +1,32 @@
/** @file
This will be invoked only once. It will call FspSmmInit API,
to call MmIplPei to load MM Core and dispatch all Standalone
MM drivers.
Copyright (c) 2024, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#include <PiPei.h>
#include <Library/PeimEntryPoint.h>
#include <Library/PeiServicesTablePointerLib.h>
/**
This is the entrypoint of PEIM.
@param[in] FileHandle Handle of the file being invoked.
@param[in] PeiServices Describes the list of possible PEI Services.
@retval EFI_SUCCESS if it completed successfully.
**/
EFI_STATUS
EFIAPI
FspiWrapperPeimEntryPoint (
IN EFI_PEI_FILE_HANDLE FileHandle,
IN CONST EFI_PEI_SERVICES **PeiServices
)
{
return EFI_SUCCESS;
}

View File

@ -0,0 +1,48 @@
## @file
# FSP-I wrapper PEI Module
#
# This PEIM initialize FSP.
# This will be invoked only once. It will call FspSmmInit API,
# to call MmIplPei to load MM Core and dispatch all Standalone
# MM drivers.
#
# Copyright (c) 2024, Intel Corporation. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##
[Defines]
INF_VERSION = 0x00010017
BASE_NAME = FspiWrapperPeim
FILE_GUID = 64D6CA11-6F4C-4B79-B77F-37A281CF0FCC
VERSION_STRING = 1.0
MODULE_TYPE = PEIM
ENTRY_POINT = FspiWrapperPeimEntryPoint
#
# The following information is for reference only and not required by the build tools.
#
# VALID_ARCHITECTURES = IA32 X64
#
[LibraryClasses]
PeimEntryPoint
PeiServicesLib
PeiServicesTablePointerLib
[Packages]
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
[Ppis]
[Pcd]
[Guids]
[Sources]
FspiWrapperPeim.c
[Depex]
TRUE

View File

@ -78,7 +78,7 @@
DevicePathLib|MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibDevicePathProtocol.inf
HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
[Components.Ia32]
[Components.Ia32, Components.X64]
IntelFsp2WrapperPkg/Library/BaseFspWrapperApiTestLibNull/BaseFspWrapperApiTestLibNull.inf
IntelFsp2WrapperPkg/Library/SecFspWrapperPlatformSecLibSample/SecFspWrapperPlatformSecLibSample.inf
IntelFsp2WrapperPkg/Library/PeiFspWrapperHobProcessLibSample/PeiFspWrapperHobProcessLibSample.inf
@ -87,6 +87,7 @@
IntelFsp2WrapperPkg/FspmWrapperPeim/FspmWrapperPeim.inf
IntelFsp2WrapperPkg/FspsWrapperPeim/FspsWrapperPeim.inf
IntelFsp2WrapperPkg/FspiWrapperPeim/FspiWrapperPeim.inf
[Components.IA32, Components.X64]
IntelFsp2WrapperPkg/Library/BaseFspWrapperApiLib/BaseFspWrapperApiLib.inf