/** @file This file is the library for SA DXE Policy initialization. Copyright (c) 2019 - 2020 Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include #include /** Get data for platform policy from setup options. @param[in] SaPolicy The pointer to get SA Policy protocol instance @retval EFI_SUCCESS Operation success. **/ EFI_STATUS EFIAPI UpdateDxeSaPolicy ( IN OUT SA_POLICY_PROTOCOL *SaPolicy ) { EFI_STATUS Status; GRAPHICS_DXE_CONFIG *GraphicsDxeConfig; PCIE_DXE_CONFIG *PcieDxeConfig; MISC_DXE_CONFIG *MiscDxeConfig; MEMORY_DXE_CONFIG *MemoryDxeConfig; GraphicsDxeConfig = NULL; PcieDxeConfig = NULL; MiscDxeConfig = NULL; MemoryDxeConfig = NULL; // // Get requisite IP Config Blocks which needs to be used here // Status = GetConfigBlock ((VOID *)SaPolicy, &gGraphicsDxeConfigGuid, (VOID *)&GraphicsDxeConfig); ASSERT_EFI_ERROR (Status); Status = GetConfigBlock ((VOID *)SaPolicy, &gMiscDxeConfigGuid, (VOID *)&MiscDxeConfig); ASSERT_EFI_ERROR (Status); Status = GetConfigBlock ((VOID *)SaPolicy, &gPcieDxeConfigGuid, (VOID *)&PcieDxeConfig); ASSERT_EFI_ERROR (Status); Status = GetConfigBlock ((VOID *)SaPolicy, &gMemoryDxeConfigGuid, (VOID *)&MemoryDxeConfig); ASSERT_EFI_ERROR (Status); PcieDxeConfig->PegAspmL0s[0] = 3; PcieDxeConfig->PegAspmL0s[1] = 3; PcieDxeConfig->PegAspmL0s[2] = 3; return EFI_SUCCESS; }