Skip to content

Commit

Permalink
CometlakeOpenBoardPkg: Use same variable name for FspNvsHob.
Browse files Browse the repository at this point in the history
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3678

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 <[email protected]>
Cc: Rangasai V Chaganty <[email protected]>
Cc: Deepika Kethi Reddy <[email protected]>
Cc: Kathappan Esakkithevar <[email protected]>
Signed-off-by: Chasel Chiu <[email protected]>
Reviewed-by: Nate DeSimone <[email protected]>
Reviewed-by: Kathappan Esakkithevar <[email protected]>
Reviewed-by: Isaac Oram <[email protected]>
  • Loading branch information
ChaselChiu committed Oct 15, 2021
1 parent 6b4a1eb commit 59dc66e
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 52 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Implementation of Fsp Misc UPD Initialization.
Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2020 - 2021, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/

Expand All @@ -17,7 +17,6 @@
#include <FspmUpd.h>
#include <FspsUpd.h>

#include <Library/MemoryAllocationLib.h>
#include <Library/DebugLib.h>
#include <Library/DebugPrintErrorLevelLib.h>
#include <Library/PciLib.h>
Expand All @@ -44,55 +43,21 @@ PeiFspMiscUpdUpdatePreMem (
)
{
EFI_STATUS Status;
EFI_PEI_READ_ONLY_VARIABLE2_PPI *VariableServices;
UINTN VariableSize;
VOID *MemorySavedData;

Status = PeiServicesLocatePpi (
&gEfiPeiReadOnlyVariable2PpiGuid,
0,
NULL,
(VOID **) &VariableServices
);
if (EFI_ERROR (Status)) {
ASSERT_EFI_ERROR (Status);
return Status;
UINTN FspNvsBufferSize;
VOID *FspNvsBufferPtr;

//
// Initialize S3 Data variable (S3DataPtr). It may be used for warm and fast boot paths.
//
FspNvsBufferPtr = NULL;
FspNvsBufferSize = 0;
Status = PeiGetLargeVariable (L"FspNvsBuffer", &gFspNvsBufferVariableGuid, &FspNvsBufferPtr, &FspNvsBufferSize);
if (Status == EFI_SUCCESS) {
DEBUG ((DEBUG_INFO, "Get L\"FspNvsBuffer\" gFspNvsBufferVariableGuid - %r\n", Status));
DEBUG ((DEBUG_INFO, "FspNvsBuffer Size - 0x%x\n", FspNvsBufferSize));
FspmUpd->FspmArchUpd.NvsBufferPtr = FspNvsBufferPtr;
}

VariableSize = 0;
MemorySavedData = NULL;
Status = VariableServices->GetVariable (
VariableServices,
L"MemoryConfig",
&gFspNonVolatileStorageHobGuid,
NULL,
&VariableSize,
MemorySavedData
);
if (Status == EFI_BUFFER_TOO_SMALL) {
MemorySavedData = AllocatePool (VariableSize);
if (MemorySavedData == NULL) {
ASSERT (MemorySavedData != NULL);
return EFI_OUT_OF_RESOURCES;
}

DEBUG ((DEBUG_INFO, "VariableSize is 0x%x\n", VariableSize));
Status = VariableServices->GetVariable (
VariableServices,
L"MemoryConfig",
&gFspNonVolatileStorageHobGuid,
NULL,
&VariableSize,
MemorySavedData
);
if (Status == EFI_SUCCESS) {
FspmUpd->FspmArchUpd.NvsBufferPtr = MemorySavedData;
} else {
DEBUG ((DEBUG_ERROR, "Fail to retrieve Variable:\"MemoryConfig\" gMemoryConfigVariableGuid, Status = %r\n", Status));
ASSERT_EFI_ERROR (Status);
}
}
FspmUpd->FspmArchUpd.NvsBufferPtr = MemorySavedData;

return EFI_SUCCESS;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Provide FSP wrapper platform related function.
#
#
# Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2020 - 2021, Intel Corporation. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
Expand Down Expand Up @@ -82,7 +82,6 @@
PchInfoLib
PchHsioLib
PchPcieRpLib
MemoryAllocationLib
DebugPrintErrorLevelLib
SiPolicyLib
PchGbeLib
Expand Down Expand Up @@ -132,7 +131,7 @@
gCometlakeOpenBoardPkgTokenSpaceGuid.PcdMrcSpdAddressTable3

[Guids]
gFspNonVolatileStorageHobGuid ## CONSUMES
gFspNvsBufferVariableGuid ## CONSUMES
gTianoLogoGuid ## CONSUMES
gEfiMemoryOverwriteControlDataGuid

Expand Down

0 comments on commit 59dc66e

Please sign in to comment.