/** @file Intel PEI CPU Policy update by board configuration Copyright (c) 2020, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include "PeiPolicyBoardConfig.h" #include /** This function performs PEI CPU Policy update by board configuration. @param[in, out] SiPolicy The SI Policy PPI instance @retval EFI_SUCCESS The SI Policy is successfully updated. @retval Others The SI Policy is not successfully updated. **/ EFI_STATUS EFIAPI UpdatePeiCpuPolicyBoardConfig ( IN OUT SI_POLICY_PPI *SiPolicyPpi ) { EFI_STATUS Status; SA_MISC_PEI_PREMEM_CONFIG *MiscPeiPreMemConfig; SI_PREMEM_POLICY_PPI *SiPreMemPolicyPpi; CPU_CONFIG *CpuConfig; DEBUG((DEBUG_INFO, "Updating CPU Policy by board config in Post Mem\n")); Status = PeiServicesLocatePpi( &gSiPreMemPolicyPpiGuid, 0, NULL, (VOID **)&SiPreMemPolicyPpi ); ASSERT_EFI_ERROR(Status); Status = GetConfigBlock((VOID *) SiPreMemPolicyPpi, &gSaMiscPeiPreMemConfigGuid, (VOID *) &MiscPeiPreMemConfig); ASSERT_EFI_ERROR(Status); Status = GetConfigBlock ((VOID *) SiPolicyPpi, &gCpuConfigGuid, (VOID *) &CpuConfig); ASSERT_EFI_ERROR (Status); return Status; }