I think the MtrrTable is not needed in the AcpiCpuDataEx (which is from the PcdCpuS3DataAddress).
That mean: we can cleanup unused definition in the PcdCpuS3DataAddress. Maybe in the future patches set, not this one. Thanks, Jiaxin > -----Original Message----- > From: Tan, Dun <[email protected]> > Sent: Friday, May 10, 2024 6:08 PM > To: [email protected] > Cc: Ni, Ray <[email protected]>; Kumar, Rahul R <[email protected]>; > Gerd Hoffmann <[email protected]>; Wu, Jiaxin <[email protected]> > Subject: [PATCH 04/18] UefiCpuPkg: Save MTRR by lockbox in CpuS3DataDxe > > Save MTRR by lockbox in CpuS3DataDxe. In S3 boot, > The MTRR setting will be restored in S3Resume.c > in following patches. Then S3Resume.c will wakeup > all APs to load the MTRR setting. This can avoid > waking up APs in CpuS3.c. > > Signed-off-by: Dun Tan <[email protected]> > Cc: Ray Ni <[email protected]> > Cc: Rahul Kumar <[email protected]> > Cc: Gerd Hoffmann <[email protected]> > Cc: Jiaxin Wu <[email protected]> > --- > UefiCpuPkg/CpuS3DataDxe/CpuS3Data.c | 11 +++++++++++ > UefiCpuPkg/CpuS3DataDxe/CpuS3DataDxe.inf | 2 ++ > 2 files changed, 13 insertions(+) > > diff --git a/UefiCpuPkg/CpuS3DataDxe/CpuS3Data.c > b/UefiCpuPkg/CpuS3DataDxe/CpuS3Data.c > index 86ce5303ca..825bb00b74 100644 > --- a/UefiCpuPkg/CpuS3DataDxe/CpuS3Data.c > +++ b/UefiCpuPkg/CpuS3DataDxe/CpuS3Data.c > @@ -26,6 +26,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent > #include <Library/DebugLib.h> > #include <Library/MtrrLib.h> > #include <Library/MemoryAllocationLib.h> > +#include <Library/LockBoxLib.h> > > #include <Protocol/MpService.h> > #include <Guid/EventGroup.h> > @@ -130,6 +131,16 @@ CpuS3DataOnEndOfDxe ( > DEBUG ((DEBUG_VERBOSE, "%a\n", __func__)); > MtrrGetAllMtrrs (&AcpiCpuDataEx->MtrrTable); > > + // > + // Save MTRR in lockbox > + // > + Status = SaveLockBox ( > + &gEdkiiS3MtrrSettingGuid, > + &AcpiCpuDataEx->MtrrTable, > + sizeof (MTRR_SETTINGS) > + ); > + ASSERT_EFI_ERROR (Status); > + > // > // Close event, so it will not be invoked again. > // > diff --git a/UefiCpuPkg/CpuS3DataDxe/CpuS3DataDxe.inf > b/UefiCpuPkg/CpuS3DataDxe/CpuS3DataDxe.inf > index 510133a614..a09254746b 100644 > --- a/UefiCpuPkg/CpuS3DataDxe/CpuS3DataDxe.inf > +++ b/UefiCpuPkg/CpuS3DataDxe/CpuS3DataDxe.inf > @@ -46,9 +46,11 @@ > BaseLib > MtrrLib > MemoryAllocationLib > + LockBoxLib > > [Guids] > gEfiEndOfDxeEventGroupGuid ## CONSUMES ## Event > + gEdkiiS3MtrrSettingGuid > > [Protocols] > gEfiMpServiceProtocolGuid ## CONSUMES > -- > 2.31.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#118851): https://edk2.groups.io/g/devel/message/118851 Mute This Topic: https://groups.io/mt/106018124/21656 Group Owner: [email protected] Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
