summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Include
diff options
context:
space:
mode:
authorZhihao Li <zhihao.li@intel.com>2024-03-08 18:05:23 +0800
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2024-06-18 07:23:19 +0000
commit176b9d41f8f71c7572dab615a8d5259dd2cbc02a (patch)
tree099dc4d5e642b05d08dc3f14fb41cb2a8e633c11 /MdeModulePkg/Include
parent537a81ae81622d65052184b281e8b2754d0b5313 (diff)
downloadedk2-176b9d41f8f71c7572dab615a8d5259dd2cbc02a.zip
edk2-176b9d41f8f71c7572dab615a8d5259dd2cbc02a.tar.gz
edk2-176b9d41f8f71c7572dab615a8d5259dd2cbc02a.tar.bz2
MdeModulePkg/Core/Pei: Install MigrateTempRamPpi
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4716 Migrate FSP-T/M binary from temporary RAM to permanent RAM before NEM tear down. Tcg module will use permanent address of FSP-T/M for measurement. In MdeModulePkg, PeiCore installs mMigrateTempRamPpi if PcdMigrateTemporaryRamFirmwareVolumes is True before NEM tear down and after permanent memory ready. 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: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Zhihao Li <zhihao.li@intel.com>
Diffstat (limited to 'MdeModulePkg/Include')
-rw-r--r--MdeModulePkg/Include/Guid/MigratedFvInfo.h4
-rw-r--r--MdeModulePkg/Include/Ppi/MigrateTempRam.h23
2 files changed, 25 insertions, 2 deletions
diff --git a/MdeModulePkg/Include/Guid/MigratedFvInfo.h b/MdeModulePkg/Include/Guid/MigratedFvInfo.h
index 1c8b0df..255e278 100644
--- a/MdeModulePkg/Include/Guid/MigratedFvInfo.h
+++ b/MdeModulePkg/Include/Guid/MigratedFvInfo.h
@@ -1,7 +1,7 @@
/** @file
Migrated FV information
-Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2020 - 2024, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@@ -50,7 +50,7 @@ typedef struct {
typedef struct {
UINT32 FvOrgBase; // original FV address
- UINT32 FvNewBase; // new FV address
+ UINT32 FvNewBase; // new FV address, 0 means rebased data is not copied
UINT32 FvDataBase; // original FV data, 0 means raw data is not copied
UINT32 FvLength; // Fv Length
} EDKII_MIGRATED_FV_INFO;
diff --git a/MdeModulePkg/Include/Ppi/MigrateTempRam.h b/MdeModulePkg/Include/Ppi/MigrateTempRam.h
new file mode 100644
index 0000000..9bbb55d
--- /dev/null
+++ b/MdeModulePkg/Include/Ppi/MigrateTempRam.h
@@ -0,0 +1,23 @@
+/** @file
+ This file declares Migrate Temporary Memory PPI.
+
+ This PPI is published by the PEI Foundation when temporary RAM needs to evacuate.
+ Its purpose is to be used as a signal for other PEIMs who can register for a
+ notification on its installation.
+
+ Copyright (c) 2024, Intel Corporation. All rights reserved.<BR>
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#ifndef PEI_MIGRATE_TEMP_RAM_PPI_H_
+#define PEI_MIGRATE_TEMP_RAM_PPI_H_
+
+#define EFI_PEI_MIGRATE_TEMP_RAM_PPI_GUID \
+ { \
+ 0xc79dc53b, 0xafcd, 0x4a6a, {0xad, 0x94, 0xa7, 0x6a, 0x3f, 0xa9, 0xe9, 0xc2 } \
+ }
+
+extern EFI_GUID gEdkiiPeiMigrateTempRamPpiGuid;
+
+#endif