From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mx.groups.io with SMTP id smtpd.web09.4072.1633660763018722729 for ; Thu, 07 Oct 2021 19:39:32 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.31, mailfrom: chasel.chiu@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10130"; a="287301099" X-IronPort-AV: E=Sophos;i="5.85,356,1624345200"; d="scan'208";a="287301099" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Oct 2021 19:39:32 -0700 X-IronPort-AV: E=Sophos;i="5.85,356,1624345200"; d="scan'208";a="657644503" Received: from cchiu4-mobl.gar.corp.intel.com ([10.252.188.53]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Oct 2021 19:39:31 -0700 From: "Chiu, Chasel" To: devel@edk2.groups.io Cc: Chasel Chiu , Nate DeSimone Subject: [edk2-platforms: PATCH 7/9] WhiskeylakeOpenBoardPkg: Use same variable name for FspNvsHob. Date: Fri, 8 Oct 2021 10:39:00 +0800 Message-Id: <20211008023902.1066-8-chasel.chiu@intel.com> X-Mailer: git-send-email 2.28.0.windows.1 In-Reply-To: <20211008023902.1066-1-chasel.chiu@intel.com> References: <20211008023902.1066-1-chasel.chiu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3678 To simplify the implementation the variable Name/GUID has been changed to "FspNvsBuffer" and gFspNvsBufferVariableGuid regardless it stores the data from FSP_NON_VOLATILE_STORAGE_HOB2 or FSP_NON_VOLATILE_STORAGE_HOB. Cc: Nate DeSimone Signed-off-by: Chasel Chiu --- Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/PeiSiliconPolicy= UpdateLibFsp/PeiFspMiscUpdUpdateLib.c | 63 ++++++++++++---= ------------------------------------------------ Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/FspWrapper/Library/PeiSili= conPolicyUpdateLibFsp/PeiFspMiscUpdUpdateLib.c | 63 ++++++++++++---= ------------------------------------------------ Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/PeiSiliconPolicy= UpdateLibFsp/PeiSiliconPolicyUpdateLibFsp.inf | 5 ++--- Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/FspWrapper/Library/PeiSili= conPolicyUpdateLibFsp/PeiSiliconPolicyUpdateLibFsp.inf | 4 ++-- Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/OpenBoardPkg.dsc = | 3 +++ Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkg.dsc = | 3 +++ 6 files changed, 34 insertions(+), 107 deletions(-) diff --git a/Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/PeiS= iliconPolicyUpdateLibFsp/PeiFspMiscUpdUpdateLib.c b/Platform/Intel/Whiskeyl= akeOpenBoardPkg/FspWrapper/Library/PeiSiliconPolicyUpdateLibFsp/PeiFspMiscU= pdUpdateLib.c index a341a58930..ab35bc3f8f 100644 --- a/Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/PeiSiliconP= olicyUpdateLibFsp/PeiFspMiscUpdUpdateLib.c +++ b/Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/PeiSiliconP= olicyUpdateLibFsp/PeiFspMiscUpdUpdateLib.c @@ -2,7 +2,7 @@ Implementation of Fsp Misc UPD Initialization.=0D =0D =0D - Copyright (c) 2019, Intel Corporation. All rights reserved.
=0D + Copyright (c) 2019 - 2021, Intel Corporation. All rights reserved.
=0D SPDX-License-Identifier: BSD-2-Clause-Patent=0D **/=0D =0D @@ -17,11 +17,9 @@ #include =0D #include =0D =0D -#include =0D #include =0D #include =0D #include =0D -#include =0D #include =0D #include =0D =0D @@ -44,55 +42,18 @@ PeiFspMiscUpdUpdatePreMem ( )=0D {=0D EFI_STATUS Status;=0D - EFI_PEI_READ_ONLY_VARIABLE2_PPI *VariableServices;=0D - UINTN VariableSize;=0D - VOID *MemorySavedData;=0D -=0D - Status =3D PeiServicesLocatePpi (=0D - &gEfiPeiReadOnlyVariable2PpiGuid,=0D - 0,=0D - NULL,=0D - (VOID **) &VariableServices=0D - );=0D - if (EFI_ERROR (Status)) {=0D - ASSERT_EFI_ERROR (Status);=0D - return Status;=0D - }=0D -=0D - VariableSize =3D 0;=0D - MemorySavedData =3D NULL;=0D - Status =3D VariableServices->GetVariable (=0D - VariableServices,=0D - L"MemoryConfig",=0D - &gFspNonVolatileStorageHobGuid,=0D - NULL,=0D - &VariableSize,=0D - MemorySavedData=0D - );=0D - if (Status =3D=3D EFI_BUFFER_TOO_SMALL) {=0D - MemorySavedData =3D AllocatePool (VariableSize);=0D - if (MemorySavedData =3D=3D NULL) {=0D - ASSERT (MemorySavedData !=3D NULL);=0D - return EFI_OUT_OF_RESOURCES;=0D - }=0D -=0D - DEBUG ((DEBUG_INFO, "VariableSize is 0x%x\n", VariableSize));=0D - Status =3D VariableServices->GetVariable (=0D - VariableServices,=0D - L"MemoryConfig",=0D - &gFspNonVolatileStorageHobGuid,=0D - NULL,=0D - &VariableSize,=0D - MemorySavedData=0D - );=0D - if (Status =3D=3D EFI_SUCCESS) {=0D - FspmUpd->FspmArchUpd.NvsBufferPtr =3D MemorySavedData;=0D - } else {=0D - DEBUG ((DEBUG_ERROR, "Fail to retrieve Variable:\"MemoryConfig\" gMe= moryConfigVariableGuid, Status =3D %r\n", Status));=0D - ASSERT_EFI_ERROR (Status);=0D - }=0D + UINTN FspNvsBufferSize;=0D + VOID *FspNvsBufferPtr;=0D +=0D + FspNvsBufferPtr =3D NULL;=0D + FspNvsBufferSize =3D 0;=0D + Status =3D PeiGetLargeVariable (L"FspNvsBuffer", &gFspNvsBufferVariableG= uid, &FspNvsBufferPtr, &FspNvsBufferSize);=0D + if (Status =3D=3D EFI_SUCCESS) {=0D + FspmUpd->FspmArchUpd.NvsBufferPtr =3D FspNvsBufferPtr;=0D + } else {=0D + DEBUG ((DEBUG_INFO, "Cannot create FSP NVS Buffer, UEFI variable does = not exist (this is likely a first boot)\n"));=0D + FspmUpd->FspmArchUpd.NvsBufferPtr =3D NULL;=0D }=0D - FspmUpd->FspmArchUpd.NvsBufferPtr =3D MemorySavedData;=0D =0D return EFI_SUCCESS;=0D }=0D diff --git a/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/FspWrapper/Lib= rary/PeiSiliconPolicyUpdateLibFsp/PeiFspMiscUpdUpdateLib.c b/Platform/Intel= /WhiskeylakeOpenBoardPkg/UpXtreme/FspWrapper/Library/PeiSiliconPolicyUpdate= LibFsp/PeiFspMiscUpdUpdateLib.c index 145deb5de3..381ef232ea 100644 --- a/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/FspWrapper/Library/Pe= iSiliconPolicyUpdateLibFsp/PeiFspMiscUpdUpdateLib.c +++ b/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/FspWrapper/Library/Pe= iSiliconPolicyUpdateLibFsp/PeiFspMiscUpdUpdateLib.c @@ -2,7 +2,7 @@ Implementation of Fsp Misc UPD Initialization.=0D =0D =0D - Copyright (c) 2020, Intel Corporation. All rights reserved.
=0D + Copyright (c) 2020 - 2021, Intel Corporation. All rights reserved.
=0D SPDX-License-Identifier: BSD-2-Clause-Patent=0D **/=0D =0D @@ -18,11 +18,9 @@ #include =0D #include =0D =0D -#include =0D #include =0D #include =0D #include =0D -#include =0D #include =0D #include =0D #include =0D @@ -46,54 +44,17 @@ PeiFspMiscUpdUpdatePreMem ( )=0D {=0D EFI_STATUS Status;=0D - EFI_PEI_READ_ONLY_VARIABLE2_PPI *VariableServices;=0D - UINTN VariableSize;=0D - VOID *MemorySavedData;=0D -=0D - Status =3D PeiServicesLocatePpi (=0D - &gEfiPeiReadOnlyVariable2PpiGuid,=0D - 0,=0D - NULL,=0D - (VOID **) &VariableServices=0D - );=0D - if (EFI_ERROR (Status)) {=0D - ASSERT_EFI_ERROR (Status);=0D - return Status;=0D - }=0D -=0D - VariableSize =3D 0;=0D - MemorySavedData =3D NULL;=0D - Status =3D VariableServices->GetVariable (=0D - VariableServices,=0D - L"MemoryConfig",=0D - &gFspNonVolatileStorageHobGuid,=0D - NULL,=0D - &VariableSize,=0D - MemorySavedData=0D - );=0D - if (Status =3D=3D EFI_BUFFER_TOO_SMALL) {=0D - MemorySavedData =3D AllocatePool (VariableSize);=0D - if (MemorySavedData =3D=3D NULL) {=0D - ASSERT (MemorySavedData !=3D NULL);=0D - return EFI_OUT_OF_RESOURCES;=0D - }=0D -=0D - DEBUG ((DEBUG_INFO, "VariableSize is 0x%x\n", VariableSize));=0D - Status =3D VariableServices->GetVariable (=0D - VariableServices,=0D - L"MemoryConfig",=0D - &gFspNonVolatileStorageHobGuid,=0D - NULL,=0D - &VariableSize,=0D - MemorySavedData=0D - );=0D - if (Status =3D=3D EFI_SUCCESS) {=0D - FspmUpd->FspmArchUpd.NvsBufferPtr =3D MemorySavedData;=0D - } else {=0D - FspmUpd->FspmArchUpd.NvsBufferPtr =3D NULL;=0D - DEBUG ((DEBUG_ERROR, "Fail to retrieve Variable:\"MemoryConfig\" gMe= moryConfigVariableGuid, Status =3D %r\n", Status));=0D - ASSERT_EFI_ERROR (Status);=0D - }=0D + UINTN FspNvsBufferSize;=0D + VOID *FspNvsBufferPtr;=0D +=0D + FspNvsBufferPtr =3D NULL;=0D + FspNvsBufferSize =3D 0;=0D + Status =3D PeiGetLargeVariable (L"FspNvsBuffer", &gFspNvsBufferVariableG= uid, &FspNvsBufferPtr, &FspNvsBufferSize);=0D + if (Status =3D=3D EFI_SUCCESS) {=0D + FspmUpd->FspmArchUpd.NvsBufferPtr =3D FspNvsBufferPtr;=0D + } else {=0D + DEBUG ((DEBUG_INFO, "Cannot create FSP NVS Buffer, UEFI variable does = not exist (this is likely a first boot)\n"));=0D + FspmUpd->FspmArchUpd.NvsBufferPtr =3D NULL;=0D }=0D =0D FspmUpd->FspmConfig.TsegSize =3D FixedPcdGet32 (PcdTsegSize= );=0D diff --git a/Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/PeiS= iliconPolicyUpdateLibFsp/PeiSiliconPolicyUpdateLibFsp.inf b/Platform/Intel/= WhiskeylakeOpenBoardPkg/FspWrapper/Library/PeiSiliconPolicyUpdateLibFsp/Pei= SiliconPolicyUpdateLibFsp.inf index 2c90d0cb94..362dc2c995 100644 --- a/Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/PeiSiliconP= olicyUpdateLibFsp/PeiSiliconPolicyUpdateLibFsp.inf +++ b/Platform/Intel/WhiskeylakeOpenBoardPkg/FspWrapper/Library/PeiSiliconP= olicyUpdateLibFsp/PeiSiliconPolicyUpdateLibFsp.inf @@ -2,7 +2,7 @@ # Provide FSP wrapper platform related function.=0D #=0D #=0D -# Copyright (c) 2019 - 2020 Intel Corporation. All rights reserved.
=0D +# Copyright (c) 2019 - 2021 Intel Corporation. All rights reserved.
=0D #=0D # SPDX-License-Identifier: BSD-2-Clause-Patent=0D #=0D @@ -82,7 +82,6 @@ PchInfoLib=0D PchHsioLib=0D PchPcieRpLib=0D - MemoryAllocationLib=0D DebugPrintErrorLevelLib=0D SiPolicyLib=0D PchGbeLib=0D @@ -132,7 +131,7 @@ gWhiskeylakeOpenBoardPkgTokenSpaceGuid.PcdMrcSpdAddressTable3=0D =0D [Guids]=0D - gFspNonVolatileStorageHobGuid ## CONSUMES=0D + gFspNvsBufferVariableGuid ## CONSUMES=0D gTianoLogoGuid ## CONSUMES=0D gEfiMemoryOverwriteControlDataGuid=0D =0D diff --git a/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/FspWrapper/Lib= rary/PeiSiliconPolicyUpdateLibFsp/PeiSiliconPolicyUpdateLibFsp.inf b/Platfo= rm/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/FspWrapper/Library/PeiSiliconPoli= cyUpdateLibFsp/PeiSiliconPolicyUpdateLibFsp.inf index 529c2f1253..1a664b1327 100644 --- a/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/FspWrapper/Library/Pe= iSiliconPolicyUpdateLibFsp/PeiSiliconPolicyUpdateLibFsp.inf +++ b/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/FspWrapper/Library/Pe= iSiliconPolicyUpdateLibFsp/PeiSiliconPolicyUpdateLibFsp.inf @@ -2,7 +2,7 @@ # FSP silicon policy updates for the Up Xtreme board.=0D #=0D #=0D -# Copyright (c) 2020, Intel Corporation. All rights reserved.
=0D +# Copyright (c) 2020 - 2021, Intel Corporation. All rights reserved.
= =0D #=0D # SPDX-License-Identifier: BSD-2-Clause-Patent=0D #=0D @@ -136,7 +136,7 @@ gWhiskeylakeOpenBoardPkgTokenSpaceGuid.PcdBoardBomId=0D =0D [Guids]=0D - gFspNonVolatileStorageHobGuid ## CONSUMES=0D + gFspNvsBufferVariableGuid ## CONSUMES=0D gTianoLogoGuid ## CONSUMES=0D gEfiMemoryOverwriteControlDataGuid=0D =0D diff --git a/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/OpenBoardPkg.d= sc b/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/OpenBoardPkg.dsc index ee2aedd978..9d08dc3fe4 100644 --- a/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/OpenBoardPkg.dsc +++ b/Platform/Intel/WhiskeylakeOpenBoardPkg/UpXtreme/OpenBoardPkg.dsc @@ -142,6 +142,9 @@ #######################################=0D PlatformHookLib|$(PROJECT)/Library/BasePlatformHookLib/BasePlatformHookL= ib.inf=0D =0D +[LibraryClasses.Common.SEC]=0D + VariableReadLib|MinPlatformPkg/Library/BaseVariableReadLibNull/BaseVaria= bleReadLibNull.inf=0D +=0D [LibraryClasses.IA32.SEC]=0D #######################################=0D # Platform Package=0D diff --git a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoa= rdPkg.dsc b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoar= dPkg.dsc index b69cc8deb0..8d25b818ee 100644 --- a/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkg.d= sc +++ b/Platform/Intel/WhiskeylakeOpenBoardPkg/WhiskeylakeURvp/OpenBoardPkg.d= sc @@ -142,6 +142,9 @@ #######################################=0D PlatformHookLib|$(PROJECT)/Library/BasePlatformHookLib/BasePlatformHookL= ib.inf=0D =0D +[LibraryClasses.Common.SEC]=0D + VariableReadLib|MinPlatformPkg/Library/BaseVariableReadLibNull/BaseVaria= bleReadLibNull.inf=0D +=0D [LibraryClasses.IA32.SEC]=0D #######################################=0D # Platform Package=0D --=20 2.28.0.windows.1