* [edk2-devel] [PATCH] MdeModulePkg: Support customized FV Migration Information
@ 2023-09-07 6:54 Wang Fan
0 siblings, 0 replies; 2+ messages in thread
From: Wang Fan @ 2023-09-07 6:54 UTC (permalink / raw)
To: devel; +Cc: Wang Fan, Michael D Kinney, Liming Gao, Guomin Jiang, Dandan Bi
From: Wang Fan <fan.wang@intel.com>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4533
There are use cases which not all FVs need be migrated from TempRam to
permanent memory before TempRam tears down. This new guid is introduced
to avoid unnecessary FV migration to improve boot performance. Platform
can publish hob with this guid to customize FV migration info, and PEI
Core will only migrate FVs indicated by this Hob info.
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Guomin Jiang <guomin.jiang@intel.com>
Cc: Dandan Bi <dandan.bi@intel.com>
Signed-off-by: Wang Fan <fan.wang@intel.com>
---
MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c | 82 +++++++++++++------
MdeModulePkg/Core/Pei/PeiMain.inf | 1 +
MdeModulePkg/Include/Guid/MigratedFvInfo.h | 19 +++++
MdeModulePkg/MdeModulePkg.dec | 3 +-
4 files changed, 79 insertions(+), 26 deletions(-)
diff --git a/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c b/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c
index 5f32ebb560..a9e4f8fcca 100644
--- a/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c
+++ b/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c
@@ -1184,7 +1184,11 @@ EvacuateTempRam (
PEI_CORE_FV_HANDLE PeiCoreFvHandle;
EFI_PEI_CORE_FV_LOCATION_PPI *PeiCoreFvLocationPpi;
+ EDKII_TO_MIGRATE_FV_INFO *ToMigrateFvInfo;
EDKII_MIGRATED_FV_INFO MigratedFvInfo;
+ EFI_PEI_HOB_POINTERS Hob;
+ BOOLEAN MigrateAllFvs;
+ UINT32 MigrationFlags;
ASSERT (Private->PeiMemoryInstalled);
@@ -1211,6 +1215,17 @@ EvacuateTempRam (
ConvertPeiCorePpiPointers (Private, &PeiCoreFvHandle);
+ //
+ // Check if platform defined hobs to indicate which FVs are expected to migrate or keep raw data.
+ // If ToMigrateFvInfo hobs exists, only migrate FVs recorded by hobs.
+ // If ToMigrateFvInfo hobs not exists, migrate all FVs to permanant memory.
+ //
+ MigrateAllFvs = TRUE;
+ Hob.Raw = GetFirstGuidHob (&gEdkiiToMigrateFvInfoGuid);
+ if (Hob.Raw != NULL) {
+ MigrateAllFvs = FALSE;
+ }
+
for (FvIndex = 0; FvIndex < Private->FvCount; FvIndex++) {
FvHeader = Private->Fv[FvIndex].FvHeader;
ASSERT (FvHeader != NULL);
@@ -1224,6 +1239,25 @@ EvacuateTempRam (
)
)
{
+ if (MigrateAllFvs) {
+ MigrationFlags = 0;
+ } else {
+ MigrationFlags = FLAGS_SKIP_FV_MIGRATION | FLAGS_SKIP_FV_RAW_DATA_COPY;
+ Hob.Raw = GetFirstGuidHob (&gEdkiiToMigrateFvInfoGuid);
+ while (Hob.Raw != NULL) {
+ ToMigrateFvInfo = GET_GUID_HOB_DATA (Hob);
+ if (ToMigrateFvInfo->FvOrgBase == (UINT32)(UINTN)FvHeader) {
+ MigrationFlags = ToMigrateFvInfo->MigrationFlags;
+ break;
+ }
+ Hob.Raw = GET_NEXT_HOB (Hob);
+ Hob.Raw = GetNextGuidHob (&gEdkiiToMigrateFvInfoGuid, Hob.Raw);
+ }
+ }
+ if (MigrationFlags & FLAGS_SKIP_FV_MIGRATION) {
+ continue;
+ }
+
//
// Allocate page to save the rebased PEIMs, the PEIMs will get dispatched later.
//
@@ -1234,18 +1268,7 @@ EvacuateTempRam (
);
ASSERT_EFI_ERROR (Status);
MigratedFvHeader = (EFI_FIRMWARE_VOLUME_HEADER *)(UINTN)FvHeaderAddress;
-
- //
- // Allocate pool to save the raw PEIMs, which is used to keep consistent context across
- // multiple boot and PCR0 will keep the same no matter if the address of allocated page is changed.
- //
- Status = PeiServicesAllocatePages (
- EfiBootServicesCode,
- EFI_SIZE_TO_PAGES ((UINTN)FvHeader->FvLength),
- &FvHeaderAddress
- );
- ASSERT_EFI_ERROR (Status);
- RawDataFvHeader = (EFI_FIRMWARE_VOLUME_HEADER *)(UINTN)FvHeaderAddress;
+ CopyMem (MigratedFvHeader, FvHeader, (UINTN)FvHeader->FvLength);
DEBUG ((
DEBUG_VERBOSE,
@@ -1256,18 +1279,29 @@ EvacuateTempRam (
));
//
- // Copy the context to the rebased pages and raw pages, and create hob to save the
- // information. The MigratedFvInfo HOB will never be produced when
- // PcdMigrateTemporaryRamFirmwareVolumes is FALSE, because the PCD control the
- // feature.
+ // Copy the context to the raw pages, and create hob to save the information. The MigratedFvInfo
+ // HOB will never be produced when PcdMigrateTemporaryRamFirmwareVolumes is FALSE, because the PCD
+ // controls the feature.
//
- CopyMem (MigratedFvHeader, FvHeader, (UINTN)FvHeader->FvLength);
- CopyMem (RawDataFvHeader, MigratedFvHeader, (UINTN)FvHeader->FvLength);
- MigratedFvInfo.FvOrgBase = (UINT32)(UINTN)FvHeader;
- MigratedFvInfo.FvNewBase = (UINT32)(UINTN)MigratedFvHeader;
- MigratedFvInfo.FvDataBase = (UINT32)(UINTN)RawDataFvHeader;
- MigratedFvInfo.FvLength = (UINT32)(UINTN)FvHeader->FvLength;
- BuildGuidDataHob (&gEdkiiMigratedFvInfoGuid, &MigratedFvInfo, sizeof (MigratedFvInfo));
+ if ((MigrationFlags & FLAGS_SKIP_FV_RAW_DATA_COPY) != FLAGS_SKIP_FV_RAW_DATA_COPY) {
+ //
+ // Allocate pool to save the raw PEIMs, which is used to keep consistent context across
+ // multiple boot and PCR0 will keep the same no matter if the address of allocated page is changed.
+ //
+ Status = PeiServicesAllocatePages (
+ EfiBootServicesCode,
+ EFI_SIZE_TO_PAGES ((UINTN)FvHeader->FvLength),
+ &FvHeaderAddress
+ );
+ ASSERT_EFI_ERROR (Status);
+ RawDataFvHeader = (EFI_FIRMWARE_VOLUME_HEADER *)(UINTN)FvHeaderAddress;
+ CopyMem (RawDataFvHeader, MigratedFvHeader, (UINTN)FvHeader->FvLength);
+ MigratedFvInfo.FvOrgBase = (UINT32)(UINTN)FvHeader;
+ MigratedFvInfo.FvNewBase = (UINT32)(UINTN)MigratedFvHeader;
+ MigratedFvInfo.FvDataBase = (UINT32)(UINTN)RawDataFvHeader;
+ MigratedFvInfo.FvLength = (UINT32)(UINTN)FvHeader->FvLength;
+ BuildGuidDataHob (&gEdkiiMigratedFvInfoGuid, &MigratedFvInfo, sizeof (MigratedFvInfo));
+ }
//
// Migrate any children for this FV now
@@ -1330,8 +1364,6 @@ EvacuateTempRam (
}
}
- RemoveFvHobsInTemporaryMemory (Private);
-
return Status;
}
diff --git a/MdeModulePkg/Core/Pei/PeiMain.inf b/MdeModulePkg/Core/Pei/PeiMain.inf
index 0cf357371a..944b230b0e 100644
--- a/MdeModulePkg/Core/Pei/PeiMain.inf
+++ b/MdeModulePkg/Core/Pei/PeiMain.inf
@@ -78,6 +78,7 @@
gEfiFirmwareFileSystem3Guid
gStatusCodeCallbackGuid
gEdkiiMigratedFvInfoGuid ## SOMETIMES_PRODUCES ## HOB
+ gEdkiiToMigrateFvInfoGuid ## SOMETIMES_CONSUMES ## HOB
[Ppis]
gEfiPeiStatusCodePpiGuid ## SOMETIMES_CONSUMES # PeiReportStatusService is not ready if this PPI doesn't exist
diff --git a/MdeModulePkg/Include/Guid/MigratedFvInfo.h b/MdeModulePkg/Include/Guid/MigratedFvInfo.h
index aca2332a0e..543cd9ba7d 100644
--- a/MdeModulePkg/Include/Guid/MigratedFvInfo.h
+++ b/MdeModulePkg/Include/Guid/MigratedFvInfo.h
@@ -9,6 +9,24 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#ifndef __EDKII_MIGRATED_FV_INFO_GUID_H__
#define __EDKII_MIGRATED_FV_INFO_GUID_H__
+#define FLAGS_SKIP_FV_MIGRATION BIT0
+#define FLAGS_SKIP_FV_RAW_DATA_COPY BIT1
+
+///
+/// EDKII_TO_MIGRATE_FV_INFO Hob information should be published by platform to indicate
+/// one FV is expected to migrate to permarnant memory or not before TempRam tears down.
+///
+typedef struct {
+ UINT32 FvOrgBase; // original FV address
+ //
+ // Migration Flags:
+ // Bit0: Indicate to skip FV migration or not
+ // Bit1: Indicate to skip FV raw data copy or not
+ // Others: Reserved bits
+ //
+ UINT32 MigrationFlags;
+} EDKII_TO_MIGRATE_FV_INFO;
+
typedef struct {
UINT32 FvOrgBase; // original FV address
UINT32 FvNewBase; // new FV address
@@ -16,6 +34,7 @@ typedef struct {
UINT32 FvLength; // Fv Length
} EDKII_MIGRATED_FV_INFO;
+extern EFI_GUID gEdkiiToMigrateFvInfoGuid;
extern EFI_GUID gEdkiiMigratedFvInfoGuid;
#endif // #ifndef __EDKII_MIGRATED_FV_INFO_GUID_H__
diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec
index 0ff058b0a9..02b4a3ba3c 100644
--- a/MdeModulePkg/MdeModulePkg.dec
+++ b/MdeModulePkg/MdeModulePkg.dec
@@ -416,7 +416,8 @@
gEdkiiCapsuleOnDiskNameGuid = { 0x98c80a4f, 0xe16b, 0x4d11, { 0x93, 0x9a, 0xab, 0xe5, 0x61, 0x26, 0x3, 0x30 } }
## Include/Guid/MigratedFvInfo.h
- gEdkiiMigratedFvInfoGuid = { 0xc1ab12f7, 0x74aa, 0x408d, { 0xa2, 0xf4, 0xc6, 0xce, 0xfd, 0x17, 0x98, 0x71 } }
+ gEdkiiToMigrateFvInfoGuid = { 0xb4b140a5, 0x72f6, 0x4c21, { 0x93, 0xe4, 0xac, 0xc4, 0xec, 0xcb, 0x23, 0x23 } }
+ gEdkiiMigratedFvInfoGuid = { 0xc1ab12f7, 0x74aa, 0x408d, { 0xa2, 0xf4, 0xc6, 0xce, 0xfd, 0x17, 0x98, 0x71 } }
#
# GUID defined in UniversalPayload
--
2.29.2.windows.2
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#108361): https://edk2.groups.io/g/devel/message/108361
Mute This Topic: https://groups.io/mt/101210068/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [edk2-devel] [PATCH] MdeModulePkg: Support customized FV Migration Information
[not found] <17828B6EB2EFAEF3.9600@groups.io>
@ 2023-09-14 6:57 ` Wang Fan
0 siblings, 0 replies; 2+ messages in thread
From: Wang Fan @ 2023-09-14 6:57 UTC (permalink / raw)
To: Kinney, Michael D, Gao, Liming, Jiang, Guomin
Cc: Bi, Dandan, devel@edk2.groups.io
Hi Mike, Liming and Guomin
Could you help review this change?
Best Regards
Fan
-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Wang Fan
Sent: Thursday, September 7, 2023 2:55 PM
To: devel@edk2.groups.io
Cc: Wang, Fan <fan.wang@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Jiang, Guomin <guomin.jiang@intel.com>; Bi, Dandan <dandan.bi@intel.com>
Subject: [edk2-devel] [PATCH] MdeModulePkg: Support customized FV Migration Information
From: Wang Fan <fan.wang@intel.com>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4533
There are use cases which not all FVs need be migrated from TempRam to permanent memory before TempRam tears down. This new guid is introduced to avoid unnecessary FV migration to improve boot performance. Platform can publish hob with this guid to customize FV migration info, and PEI Core will only migrate FVs indicated by this Hob info.
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Guomin Jiang <guomin.jiang@intel.com>
Cc: Dandan Bi <dandan.bi@intel.com>
Signed-off-by: Wang Fan <fan.wang@intel.com>
---
MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c | 82 +++++++++++++------
MdeModulePkg/Core/Pei/PeiMain.inf | 1 +
MdeModulePkg/Include/Guid/MigratedFvInfo.h | 19 +++++
MdeModulePkg/MdeModulePkg.dec | 3 +-
4 files changed, 79 insertions(+), 26 deletions(-)
diff --git a/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c b/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c
index 5f32ebb560..a9e4f8fcca 100644
--- a/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c
+++ b/MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c
@@ -1184,7 +1184,11 @@ EvacuateTempRam (
PEI_CORE_FV_HANDLE PeiCoreFvHandle;
EFI_PEI_CORE_FV_LOCATION_PPI *PeiCoreFvLocationPpi;
+ EDKII_TO_MIGRATE_FV_INFO *ToMigrateFvInfo;
EDKII_MIGRATED_FV_INFO MigratedFvInfo;
+ EFI_PEI_HOB_POINTERS Hob;
+ BOOLEAN MigrateAllFvs;
+ UINT32 MigrationFlags;
ASSERT (Private->PeiMemoryInstalled);
@@ -1211,6 +1215,17 @@ EvacuateTempRam (
ConvertPeiCorePpiPointers (Private, &PeiCoreFvHandle);
+ //
+ // Check if platform defined hobs to indicate which FVs are expected to migrate or keep raw data.
+ // If ToMigrateFvInfo hobs exists, only migrate FVs recorded by hobs.
+ // If ToMigrateFvInfo hobs not exists, migrate all FVs to permanant memory.
+ //
+ MigrateAllFvs = TRUE;
+ Hob.Raw = GetFirstGuidHob (&gEdkiiToMigrateFvInfoGuid);
+ if (Hob.Raw != NULL) {
+ MigrateAllFvs = FALSE;
+ }
+
for (FvIndex = 0; FvIndex < Private->FvCount; FvIndex++) {
FvHeader = Private->Fv[FvIndex].FvHeader;
ASSERT (FvHeader != NULL);
@@ -1224,6 +1239,25 @@ EvacuateTempRam (
)
)
{
+ if (MigrateAllFvs) {
+ MigrationFlags = 0;
+ } else {
+ MigrationFlags = FLAGS_SKIP_FV_MIGRATION | FLAGS_SKIP_FV_RAW_DATA_COPY;
+ Hob.Raw = GetFirstGuidHob (&gEdkiiToMigrateFvInfoGuid);
+ while (Hob.Raw != NULL) {
+ ToMigrateFvInfo = GET_GUID_HOB_DATA (Hob);
+ if (ToMigrateFvInfo->FvOrgBase == (UINT32)(UINTN)FvHeader) {
+ MigrationFlags = ToMigrateFvInfo->MigrationFlags;
+ break;
+ }
+ Hob.Raw = GET_NEXT_HOB (Hob);
+ Hob.Raw = GetNextGuidHob (&gEdkiiToMigrateFvInfoGuid, Hob.Raw);
+ }
+ }
+ if (MigrationFlags & FLAGS_SKIP_FV_MIGRATION) {
+ continue;
+ }
+
//
// Allocate page to save the rebased PEIMs, the PEIMs will get dispatched later.
//
@@ -1234,18 +1268,7 @@ EvacuateTempRam (
);
ASSERT_EFI_ERROR (Status);
MigratedFvHeader = (EFI_FIRMWARE_VOLUME_HEADER *)(UINTN)FvHeaderAddress;
-
- //
- // Allocate pool to save the raw PEIMs, which is used to keep consistent context across
- // multiple boot and PCR0 will keep the same no matter if the address of allocated page is changed.
- //
- Status = PeiServicesAllocatePages (
- EfiBootServicesCode,
- EFI_SIZE_TO_PAGES ((UINTN)FvHeader->FvLength),
- &FvHeaderAddress
- );
- ASSERT_EFI_ERROR (Status);
- RawDataFvHeader = (EFI_FIRMWARE_VOLUME_HEADER *)(UINTN)FvHeaderAddress;
+ CopyMem (MigratedFvHeader, FvHeader, (UINTN)FvHeader->FvLength);
DEBUG ((
DEBUG_VERBOSE,
@@ -1256,18 +1279,29 @@ EvacuateTempRam (
));
//
- // Copy the context to the rebased pages and raw pages, and create hob to save the
- // information. The MigratedFvInfo HOB will never be produced when
- // PcdMigrateTemporaryRamFirmwareVolumes is FALSE, because the PCD control the
- // feature.
+ // Copy the context to the raw pages, and create hob to save the information. The MigratedFvInfo
+ // HOB will never be produced when PcdMigrateTemporaryRamFirmwareVolumes is FALSE, because the PCD
+ // controls the feature.
//
- CopyMem (MigratedFvHeader, FvHeader, (UINTN)FvHeader->FvLength);
- CopyMem (RawDataFvHeader, MigratedFvHeader, (UINTN)FvHeader->FvLength);
- MigratedFvInfo.FvOrgBase = (UINT32)(UINTN)FvHeader;
- MigratedFvInfo.FvNewBase = (UINT32)(UINTN)MigratedFvHeader;
- MigratedFvInfo.FvDataBase = (UINT32)(UINTN)RawDataFvHeader;
- MigratedFvInfo.FvLength = (UINT32)(UINTN)FvHeader->FvLength;
- BuildGuidDataHob (&gEdkiiMigratedFvInfoGuid, &MigratedFvInfo, sizeof (MigratedFvInfo));
+ if ((MigrationFlags & FLAGS_SKIP_FV_RAW_DATA_COPY) != FLAGS_SKIP_FV_RAW_DATA_COPY) {
+ //
+ // Allocate pool to save the raw PEIMs, which is used to keep consistent context across
+ // multiple boot and PCR0 will keep the same no matter if the address of allocated page is changed.
+ //
+ Status = PeiServicesAllocatePages (
+ EfiBootServicesCode,
+ EFI_SIZE_TO_PAGES ((UINTN)FvHeader->FvLength),
+ &FvHeaderAddress
+ );
+ ASSERT_EFI_ERROR (Status);
+ RawDataFvHeader = (EFI_FIRMWARE_VOLUME_HEADER *)(UINTN)FvHeaderAddress;
+ CopyMem (RawDataFvHeader, MigratedFvHeader, (UINTN)FvHeader->FvLength);
+ MigratedFvInfo.FvOrgBase = (UINT32)(UINTN)FvHeader;
+ MigratedFvInfo.FvNewBase = (UINT32)(UINTN)MigratedFvHeader;
+ MigratedFvInfo.FvDataBase = (UINT32)(UINTN)RawDataFvHeader;
+ MigratedFvInfo.FvLength = (UINT32)(UINTN)FvHeader->FvLength;
+ BuildGuidDataHob (&gEdkiiMigratedFvInfoGuid, &MigratedFvInfo, sizeof (MigratedFvInfo));
+ }
//
// Migrate any children for this FV now @@ -1330,8 +1364,6 @@ EvacuateTempRam (
}
}
- RemoveFvHobsInTemporaryMemory (Private);
-
return Status;
}
diff --git a/MdeModulePkg/Core/Pei/PeiMain.inf b/MdeModulePkg/Core/Pei/PeiMain.inf
index 0cf357371a..944b230b0e 100644
--- a/MdeModulePkg/Core/Pei/PeiMain.inf
+++ b/MdeModulePkg/Core/Pei/PeiMain.inf
@@ -78,6 +78,7 @@
gEfiFirmwareFileSystem3Guid
gStatusCodeCallbackGuid
gEdkiiMigratedFvInfoGuid ## SOMETIMES_PRODUCES ## HOB
+ gEdkiiToMigrateFvInfoGuid ## SOMETIMES_CONSUMES ## HOB
[Ppis]
gEfiPeiStatusCodePpiGuid ## SOMETIMES_CONSUMES # PeiReportStatusService is not ready if this PPI doesn't exist
diff --git a/MdeModulePkg/Include/Guid/MigratedFvInfo.h b/MdeModulePkg/Include/Guid/MigratedFvInfo.h
index aca2332a0e..543cd9ba7d 100644
--- a/MdeModulePkg/Include/Guid/MigratedFvInfo.h
+++ b/MdeModulePkg/Include/Guid/MigratedFvInfo.h
@@ -9,6 +9,24 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #ifndef __EDKII_MIGRATED_FV_INFO_GUID_H__ #define __EDKII_MIGRATED_FV_INFO_GUID_H__
+#define FLAGS_SKIP_FV_MIGRATION BIT0
+#define FLAGS_SKIP_FV_RAW_DATA_COPY BIT1
+
+///
+/// EDKII_TO_MIGRATE_FV_INFO Hob information should be published by
+platform to indicate /// one FV is expected to migrate to permarnant memory or not before TempRam tears down.
+///
+typedef struct {
+ UINT32 FvOrgBase; // original FV address
+ //
+ // Migration Flags:
+ // Bit0: Indicate to skip FV migration or not
+ // Bit1: Indicate to skip FV raw data copy or not
+ // Others: Reserved bits
+ //
+ UINT32 MigrationFlags;
+} EDKII_TO_MIGRATE_FV_INFO;
+
typedef struct {
UINT32 FvOrgBase; // original FV address
UINT32 FvNewBase; // new FV address
@@ -16,6 +34,7 @@ typedef struct {
UINT32 FvLength; // Fv Length
} EDKII_MIGRATED_FV_INFO;
+extern EFI_GUID gEdkiiToMigrateFvInfoGuid;
extern EFI_GUID gEdkiiMigratedFvInfoGuid;
#endif // #ifndef __EDKII_MIGRATED_FV_INFO_GUID_H__ diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec index 0ff058b0a9..02b4a3ba3c 100644
--- a/MdeModulePkg/MdeModulePkg.dec
+++ b/MdeModulePkg/MdeModulePkg.dec
@@ -416,7 +416,8 @@
gEdkiiCapsuleOnDiskNameGuid = { 0x98c80a4f, 0xe16b, 0x4d11, { 0x93, 0x9a, 0xab, 0xe5, 0x61, 0x26, 0x3, 0x30 } }
## Include/Guid/MigratedFvInfo.h
- gEdkiiMigratedFvInfoGuid = { 0xc1ab12f7, 0x74aa, 0x408d, { 0xa2, 0xf4, 0xc6, 0xce, 0xfd, 0x17, 0x98, 0x71 } }
+ gEdkiiToMigrateFvInfoGuid = { 0xb4b140a5, 0x72f6, 0x4c21, { 0x93,
+ 0xe4, 0xac, 0xc4, 0xec, 0xcb, 0x23, 0x23 } } gEdkiiMigratedFvInfoGuid
+ = { 0xc1ab12f7, 0x74aa, 0x408d, { 0xa2, 0xf4, 0xc6, 0xce, 0xfd, 0x17,
+ 0x98, 0x71 } }
#
# GUID defined in UniversalPayload
--
2.29.2.windows.2
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#108635): https://edk2.groups.io/g/devel/message/108635
Mute This Topic: https://groups.io/mt/101210068/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-09-14 6:57 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-07 6:54 [edk2-devel] [PATCH] MdeModulePkg: Support customized FV Migration Information Wang Fan
[not found] <17828B6EB2EFAEF3.9600@groups.io>
2023-09-14 6:57 ` Wang Fan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox