REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1614 Adds a PEIM that republishes structures produced in SEC. This is done because SEC modules may not be shadowed in some platforms due to space constraints or special alignment requirements. The SecMigrationPei module locates interfaces that may be published in SEC and reinstalls the interface with permanent memory addresses. This is important if pre-memory address access is forbidden after memory initialization and data such as a PPI descriptor, PPI GUID, or PPI inteface reside in pre-memory. Cc: Eric Dong <eric.dong@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Cc: Rahul Kumar <rahul1.kumar@intel.com> Cc: Debkumar De <debkumar.de@intel.com> Cc: Harry Han <harry.han@intel.com> Cc: Catharine West <catharine.west@intel.com> Signed-off-by: Michael Kubacki <michael.a.kubacki@intel.com> Acked-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
69 lines
1.5 KiB
INI
69 lines
1.5 KiB
INI
## @file
|
|
# Migrates SEC structures after permanent memory is installed.
|
|
#
|
|
# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
#
|
|
##
|
|
|
|
[Defines]
|
|
INF_VERSION = 0x00010005
|
|
BASE_NAME = SecMigrationPei
|
|
MODULE_UNI_FILE = SecMigrationPei.uni
|
|
FILE_GUID = 58B35361-8922-41BC-B313-EF7ED9ADFDF7
|
|
MODULE_TYPE = PEIM
|
|
VERSION_STRING = 1.0
|
|
ENTRY_POINT = SecMigrationPeiInitialize
|
|
|
|
#
|
|
# The following information is for reference only and not required by the build tools.
|
|
#
|
|
# VALID_ARCHITECTURES = IA32 X64 EBC
|
|
#
|
|
|
|
[Sources]
|
|
SecMigrationPei.c
|
|
SecMigrationPei.h
|
|
|
|
[Packages]
|
|
MdePkg/MdePkg.dec
|
|
MdeModulePkg/MdeModulePkg.dec
|
|
UefiCpuPkg/UefiCpuPkg.dec
|
|
|
|
[LibraryClasses]
|
|
BaseLib
|
|
BaseMemoryLib
|
|
DebugLib
|
|
HobLib
|
|
MemoryAllocationLib
|
|
PeimEntryPoint
|
|
PeiServicesLib
|
|
PeiServicesTablePointerLib
|
|
|
|
[Ppis]
|
|
## PRODUCES
|
|
gRepublishSecPpiPpiGuid
|
|
|
|
## SOMETIMES_PRODUCES
|
|
gEfiTemporaryRamDonePpiGuid
|
|
|
|
## SOMETIME_PRODUCES
|
|
gEfiTemporaryRamSupportPpiGuid
|
|
|
|
## SOMETIMES_PRODUCES
|
|
gPeiSecPerformancePpiGuid
|
|
|
|
## SOMETIMES_CONSUMES
|
|
## PRODUCES
|
|
gEfiSecPlatformInformationPpiGuid
|
|
|
|
## SOMETIMES_CONSUMES
|
|
## SOMETIMES_PRODUCES
|
|
gEfiSecPlatformInformation2PpiGuid
|
|
|
|
[Pcd]
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdMigrateTemporaryRamFirmwareVolumes ## CONSUMES
|
|
|
|
[Depex]
|
|
TRUE
|