/** @file UbaPcdUpdateLib implementation. @copyright Copyright 2012 - 2021 Intel Corporation.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include #include #include #include #include #include #include #include /** Function updates Platform Configuration Data (PCD) in Unified Board Abstraction (UBA) @param FileHandle Handle of the file being invoked. @param PeiServices Describes the list of possible PEI Services. @return EFI_SUCCESS PCDs successfuly intialized @return EFI_ERROR An error ocurs during PCDs initialization **/ EFI_STATUS PlatformUpdatePcds ( VOID ) { EFI_STATUS Status; UBA_CONFIG_DATABASE_PPI *UbaConfigPpi = NULL; PLATFORM_PCD_UPDATE_TABLE PcdUpdateTable; UINTN Size; Status = PeiServicesLocatePpi ( &gUbaConfigDatabasePpiGuid, 0, NULL, &UbaConfigPpi ); if (EFI_ERROR (Status)) { return Status; } Size = sizeof(PcdUpdateTable); Status = UbaConfigPpi->GetData ( UbaConfigPpi, &gPlatformPcdConfigDataGuid, &PcdUpdateTable, &Size ); if (EFI_ERROR (Status)) { return Status; } ASSERT (PcdUpdateTable.Signature == PLATFORM_PCD_UPDATE_SIGNATURE); ASSERT (PcdUpdateTable.Version == PLATFORM_PCD_UPDATE_VERSION); Status = PcdUpdateTable.CallUpdate (); ASSERT_EFI_ERROR (Status); return Status; }