Reviewed-by: Michael Kinney <michael.d.kin...@intel.com> > -----Original Message----- > From: Ni, Ruiyu > Sent: Sunday, November 22, 2015 5:21 PM > To: edk2-devel@lists.01.org > Cc: Ni, Ruiyu <ruiyu...@intel.com>; Kinney, Michael D > <michael.d.kin...@intel.com> > Subject: [Patch] MdeModulePkg/UefiBootManagerLib: Always create > MemoryTypeInfo variable > > Align to old BDS behavior (IntelFrameworkModulePkg/BDS) to always create > MemoryTypeInfo variable regardless of the > PcdResetOnMemoryTypeInformationChange > value. > > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Ruiyu Ni <ruiyu...@intel.com> > Cc: Michael Kinney <michael.d.kin...@intel.com> > --- > MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c | 8 +++----- > MdeModulePkg/Library/UefiBootManagerLib/BmMisc.c | 15 ++++++++++----- > MdeModulePkg/Library/UefiBootManagerLib/InternalBm.h | 9 +++++++-- > 3 files changed, 20 insertions(+), 12 deletions(-) > > diff --git a/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c > b/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c > index 70ec216..e963458 100644 > --- a/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c > +++ b/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c > @@ -1765,11 +1765,9 @@ EfiBootManagerBoot ( > // 6. Adjust the different type memory page number just before booting > // and save the updated info into the variable for next boot to use > // > - if ((BootOption->Attributes & LOAD_OPTION_CATEGORY) == > LOAD_OPTION_CATEGORY_BOOT) { > - if (PcdGetBool (PcdResetOnMemoryTypeInformationChange)) { > - BmSetMemoryTypeInformationVariable (); > - } > - } > + BmSetMemoryTypeInformationVariable ( > + (BOOLEAN) ((BootOption->Attributes & LOAD_OPTION_CATEGORY) == > LOAD_OPTION_CATEGORY_BOOT) > + ); > > DEBUG_CODE_BEGIN(); > if (BootOption->Description == NULL) { > diff --git a/MdeModulePkg/Library/UefiBootManagerLib/BmMisc.c > b/MdeModulePkg/Library/UefiBootManagerLib/BmMisc.c > index cc2032c..1768781 100644 > --- a/MdeModulePkg/Library/UefiBootManagerLib/BmMisc.c > +++ b/MdeModulePkg/Library/UefiBootManagerLib/BmMisc.c > @@ -122,11 +122,16 @@ BmMatchDevicePaths ( > > /** > This routine adjust the memory information for different memory type and > - save them into the variables for next boot. > + save them into the variables for next boot. It resets the system when > + memory information is updated and the current boot option belongs to > + boot category instead of application category. > + > + @param Boot TRUE if current boot option belongs to boot category instead > of > + application category. > **/ > VOID > BmSetMemoryTypeInformationVariable ( > - VOID > + IN BOOLEAN Boot > ) > { > EFI_STATUS Status; > @@ -267,11 +272,11 @@ BmSetMemoryTypeInformationVariable ( > > if (!EFI_ERROR (Status)) { > // > - // If the Memory Type Information settings have been modified, then > reset the platform > - // so the new Memory Type Information setting will be used to > guarantee that an S4 > + // If the Memory Type Information settings have been modified and the > boot option belongs to boot category, > + // then reset the platform so the new Memory Type Information setting > will be used to guarantee that an S4 > // entry/resume cycle will not fail. > // > - if (MemoryTypeInformationModified) { > + if (MemoryTypeInformationModified && Boot && PcdGetBool > (PcdResetOnMemoryTypeInformationChange)) { > DEBUG ((EFI_D_INFO, "Memory Type Information settings change. Warm > Reset!!!\n")); > gRT->ResetSystem (EfiResetWarm, EFI_SUCCESS, 0, NULL); > } > diff --git a/MdeModulePkg/Library/UefiBootManagerLib/InternalBm.h > b/MdeModulePkg/Library/UefiBootManagerLib/InternalBm.h > index 6a888fa..fa4d5af 100644 > --- a/MdeModulePkg/Library/UefiBootManagerLib/InternalBm.h > +++ b/MdeModulePkg/Library/UefiBootManagerLib/InternalBm.h > @@ -245,11 +245,16 @@ BmGetImageHeader ( > > /** > This routine adjust the memory information for different memory type and > - save them into the variables for next boot. > + save them into the variables for next boot. It resets the system when > + memory information is updated and the current boot option belongs to > + boot category instead of application category. > + > + @param Boot TRUE if current boot option belongs to boot category instead > of > + application category. > **/ > VOID > BmSetMemoryTypeInformationVariable ( > - VOID > + IN BOOLEAN Boot > ); > > /** > -- > 1.9.5.msysgit.1
_______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel