/** @file
Prototype of the PeiSaPolicy library.
Copyright (c) 2019 - 2020 Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef _PEI_SA_POLICY_LIB_H_
#define _PEI_SA_POLICY_LIB_H_
#include
/**
This function prints the PEI phase PreMem policy.
@param[in] SiPolicyPreMemPpi The RC PreMem Policy PPI instance
**/
VOID
EFIAPI
SaPrintPolicyPpiPreMem (
IN SI_PREMEM_POLICY_PPI *SiPolicyPreMemPpi
);
/**
This function prints the PEI phase policy.
@param[in] SiPolicyPpi The RC Policy PPI instance
**/
VOID
EFIAPI
SaPrintPolicyPpi (
IN SI_POLICY_PPI *SiPolicyPpi
);
/**
Get SA config block table total size.
@retval Size of SA config block table
**/
UINT16
EFIAPI
SaGetConfigBlockTotalSize (
VOID
);
/**
Get SA config block table total size.
@retval Size of SA config block table
**/
UINT16
EFIAPI
SaGetConfigBlockTotalSizePreMem (
VOID
);
/**
SaAddConfigBlocksPreMem add all SA config blocks.
@param[in] ConfigBlockTableAddress The pointer to add SA config blocks
@retval EFI_SUCCESS The policy default is initialized.
@retval EFI_OUT_OF_RESOURCES Insufficient resources to create buffer
**/
EFI_STATUS
EFIAPI
SaAddConfigBlocksPreMem (
IN VOID *ConfigBlockTableAddress
);
/**
SaAddConfigBlocks add all SA config blocks.
@param[in] ConfigBlockTableAddress The pointer to add SA config blocks
@retval EFI_SUCCESS The policy default is initialized.
@retval EFI_OUT_OF_RESOURCES Insufficient resources to create buffer
**/
EFI_STATUS
EFIAPI
SaAddConfigBlocks (
IN VOID *ConfigBlockTableAddress
);
#endif // _PEI_SA_POLICY_LIBRARY_H_