MdeModulePkg: Variable: Introduce MM based variable read service in PEI

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4464

This change introduced the Standalone MM based variable read capability
in PEI phase for applicable platforms (such as ARM platforms).

Similar to the x86 counterpart, MM communicate PPI is used to request
variable information from Standalone MM environment.

Cc: Hao A Wu <hao.a.wu@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Jian J Wang <jian.j.wang@intel.com>

Co-authored-by: Ronny Hansen <hansen.ronny@microsoft.com>
Co-authored-by: Shriram Masanamuthu Chinnathurai <shriramma@microsoft.com>
Co-authored-by: Preshit Harlikar <pharlikar@microsoft.com>
Signed-off-by: Kun Qin <kuqin@microsoft.com>
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
This commit is contained in:
Kun Qin
2023-06-27 16:14:20 -07:00
committed by mergify[bot]
parent 01ac3d8b69
commit 6607062e91
4 changed files with 556 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
## @file -- MmVariablePei.inf
# Provides interface for reading Secure System Variables during PEI.
#
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: BSD-2-Clause-Patent
##
[Defines]
INF_VERSION = 0x00010005
BASE_NAME = MmVariablePei
FILE_GUID = CD660A87-454B-4346-A35C-3D89BF8ECFAF
MODULE_TYPE = PEIM
VERSION_STRING = 1.0
ENTRY_POINT = PeiMmVariableInitialize
[Sources]
MmVariablePei.c
MmVariablePei.h
[Packages]
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
[LibraryClasses]
PcdLib
PeiServicesLib
PeimEntryPoint
MemoryAllocationLib
HobLib
[Protocols]
gEfiSmmVariableProtocolGuid ## CONSUMES
[Ppis]
gEfiPeiReadOnlyVariable2PpiGuid ## PRODUCES
gEfiPeiMmCommunicationPpiGuid ## CONSUMES
[Depex]
gEfiPeiMmCommunicationPpiGuid