Pushed as 70d5c0e3af97..debfeb1f3052 Thanks, Nhi ________________________________ From: Rebecca Cran OS Sent: Friday, August 9, 2024 8:00 PM To: Nhi Pham OS ; devel@edk2.groups.io Cc: quic_llindhol@quicinc.com ; Chuong Tran OS ; Tam Chi Nguyen OS Subject: Re: [edk2-platforms][PATCH 1/1] AmpereAltraPkg/FlashFvbDxe: Sync up NVRAM FV with NVRAM cached Reviewed-by: Rebecca Cran On 8/8/2024 9:12 PM, Nhi Pham wrote: > From: Tam Chi Nguyen > > Currently, the NVRAM FV region is only updated once at FlashPei that makes > the data in NVRAM FV outdated with data in NVRAM region in SPI-NOR. > It causes the duplication of the valid NV variables when the Variable > Reclaim process performs. Consequently, after rebooting, system goes to > an infinite loop at GetNextVariableName. > > It requires the data in NVRAM FV to be synced up with NVRAM cache in memory > that is managed by VariableDxe. > > Signed-off-by: Nhi Pham > --- > Silicon/Ampere/AmpereAltraPkg/Drivers/FlashFvbDxe/FlashFvbDxe.inf | 1 + > Silicon/Ampere/AmpereAltraPkg/Drivers/FlashFvbDxe/FlashFvbDxe.c | 3 +++ > 2 files changed, 4 insertions(+) > > diff --git a/Silicon/Ampere/AmpereAltraPkg/Drivers/FlashFvbDxe/FlashFvbDxe.inf b/Silicon/Ampere/AmpereAltraPkg/Drivers/FlashFvbDxe/FlashFvbDxe.inf > index 008fd2315ffe..5f537cf7df27 100644 > --- a/Silicon/Ampere/AmpereAltraPkg/Drivers/FlashFvbDxe/FlashFvbDxe.inf > +++ b/Silicon/Ampere/AmpereAltraPkg/Drivers/FlashFvbDxe/FlashFvbDxe.inf > @@ -25,6 +25,7 @@ [Packages] > Silicon/Ampere/AmpereSiliconPkg/AmpereSiliconPkg.dec > > [LibraryClasses] > + BaseMemoryLib > DebugLib > FlashLib > PcdLib > diff --git a/Silicon/Ampere/AmpereAltraPkg/Drivers/FlashFvbDxe/FlashFvbDxe.c b/Silicon/Ampere/AmpereAltraPkg/Drivers/FlashFvbDxe/FlashFvbDxe.c > index 009694703ddd..853c458e375f 100644 > --- a/Silicon/Ampere/AmpereAltraPkg/Drivers/FlashFvbDxe/FlashFvbDxe.c > +++ b/Silicon/Ampere/AmpereAltraPkg/Drivers/FlashFvbDxe/FlashFvbDxe.c > @@ -6,6 +6,7 @@ > > **/ > > +#include > #include > #include > #include > @@ -361,6 +362,8 @@ FlashFvbDxeWrite ( > return EFI_DEVICE_ERROR; > } > > + CopyMem ((UINT8 *)(UINTN)mNvStorageBase + Lba * mFlashBlockSize + Offset, Buffer, *NumBytes); > + > return Status; > } > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#120323): https://edk2.groups.io/g/devel/message/120323 Mute This Topic: https://groups.io/mt/107802467/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-