/** @file Implementation of Fsp Misc UPD Initialization. Copyright (c) 2020 - 2021, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "PeiMiscPolicyUpdate.h" /** Performs FSP Misc UPD initialization. @param[in,out] FspmUpd Pointer to FSPM_UPD Data. @retval EFI_SUCCESS FSP UPD Data is updated. @retval EFI_NOT_FOUND An instance of gEfiPeiReadOnlyVariable2PpiGuid could not be located. @retval EFI_OUT_OF_RESOURCES Insufficent resources to allocate a memory buffer. **/ EFI_STATUS EFIAPI PeiFspMiscUpdUpdatePreMem ( IN OUT FSPM_UPD *FspmUpd ) { EFI_STATUS 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; } return EFI_SUCCESS; }