/** @file
Prototype of the SiPolicyLib library.
Copyright (c) 2019 Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef _SI_POLICY_LIB_H_
#define _SI_POLICY_LIB_H_
#include
/**
Print whole SI_PREMEM_POLICY_PPI and serial out.
@param[in] SiPreMemPolicyPpi The RC PREMEM Policy PPI instance
**/
VOID
EFIAPI
SiPreMemPrintPolicyPpi (
IN SI_PREMEM_POLICY_PPI *SiPreMemPolicyPpi
);
/**
Print whole SI_POLICY_PPI and serial out.
@param[in] SiPolicyPpi The RC Policy PPI instance
**/
VOID
EFIAPI
SiPrintPolicyPpi (
IN SI_POLICY_PPI *SiPolicyPpi
);
/**
SiCreatePreMemConfigBlocks creates the config blocksg of Silicon Policy.
It allocates and zero out buffer, and fills in the Intel default settings.
@param[out] SiPreMemPolicyPpi The pointer to get Silicon PREMEM Policy PPI instance
@retval EFI_SUCCESS The policy default is initialized.
@retval EFI_OUT_OF_RESOURCES Insufficient resources to create buffer
**/
EFI_STATUS
EFIAPI
SiCreatePreMemConfigBlocks (
OUT SI_PREMEM_POLICY_PPI **SiPreMemPolicyPpi
);
/**
SiCreateConfigBlocks creates the config blocksg of Silicon Policy.
It allocates and zero out buffer, and fills in the Intel default settings.
@param[out] SiPolicyPpi The pointer to get Silicon Policy PPI instance
@retval EFI_SUCCESS The policy default is initialized.
@retval EFI_OUT_OF_RESOURCES Insufficient resources to create buffer
**/
EFI_STATUS
EFIAPI
SiCreateConfigBlocks (
OUT SI_POLICY_PPI **SiPolicyPpi
);
/**
SiPreMemInstallPolicyPpi installs SiPreMemPolicyPpi.
While installed, RC assumes the Policy is ready and finalized. So please update and override
any setting before calling this function.
@param[in] SiPreMemPolicyPpi The pointer to Silicon PREMEM Policy PPI instance
@retval EFI_SUCCESS The policy is installed.
@retval EFI_OUT_OF_RESOURCES Insufficient resources to create buffer
**/
EFI_STATUS
EFIAPI
SiPreMemInstallPolicyPpi (
IN SI_PREMEM_POLICY_PPI *SiPreMemPolicyPpi
);
/**
SiInstallPolicyPpi installs SiPolicyPpi.
While installed, RC assumes the Policy is ready and finalized. So please update and override
any setting before calling this function.
@param[in] SiPolicyPpi The pointer to Silicon Policy PPI instance
@retval EFI_SUCCESS The policy is installed.
@retval EFI_OUT_OF_RESOURCES Insufficient resources to create buffer
**/
EFI_STATUS
EFIAPI
SiInstallPolicyPpi (
IN SI_POLICY_PPI *SiPolicyPpi
);
/**
Print out all silicon policy information.
@param[in] SiPolicyPpi The pointer to Silicon Policy PPI instance
@retval none
**/
VOID
DumpSiPolicy (
IN SI_POLICY_PPI *SiPolicyPpi
);
#endif // _SI_PREMEM_POLICY_LIB_H_