/** @file
Prototype of the PeiPchPolicy library.
Copyright (c) 2019 Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef _PEI_PCH_POLICY_LIB_H_
#define _PEI_PCH_POLICY_LIB_H_
#include
/**
Print whole PCH_PREMEM_POLICY_PPI and serial out.
@param[in] SiPreMemPolicyPpi The RC PREMEM Policy PPI instance
**/
VOID
EFIAPI
PchPreMemPrintPolicyPpi (
IN SI_PREMEM_POLICY_PPI *SiPreMemPolicyPpi
);
/**
Print whole SI_POLICY_PPI and serial out.
@param[in] SiPolicyPpi The RC Policy PPI instance
**/
VOID
EFIAPI
PchPrintPolicyPpi (
IN SI_POLICY_PPI *SiPolicyPpi
);
/**
Get PCH PREMEM config block table total size.
@retval Size of PCH PREMEM config block table
**/
UINT16
EFIAPI
PchGetPreMemConfigBlockTotalSize (
VOID
);
/**
Get PCH config block table total size.
@retval Size of PCH config block table
**/
UINT16
EFIAPI
PchGetConfigBlockTotalSize (
VOID
);
/**
PchAddPreMemConfigBlocks add all PCH config blocks.
@param[in] ConfigBlockTableAddress The pointer to add PCH config blocks
@retval EFI_SUCCESS The policy default is initialized.
@retval EFI_OUT_OF_RESOURCES Insufficient resources to create buffer
**/
EFI_STATUS
EFIAPI
PchAddPreMemConfigBlocks (
IN VOID *ConfigBlockTableAddress
);
/**
PchAddConfigBlocks add all PCH config blocks.
@param[in] ConfigBlockTableAddress The pointer to add PCH config blocks
@retval EFI_SUCCESS The policy default is initialized.
@retval EFI_OUT_OF_RESOURCES Insufficient resources to create buffer
**/
EFI_STATUS
EFIAPI
PchAddConfigBlocks (
IN VOID *ConfigBlockTableAddress
);
/**
Get Sata Config Policy
@param[in] SiPolicy The RC Policy PPI instance
@param[in] SataCtrlIndex SATA controller index
@retval SataConfig Pointer to Sata Config Policy
**/
PCH_SATA_CONFIG *
GetPchSataConfig (
IN SI_POLICY_PPI *SiPolicy,
IN UINT32 SataCtrlIndex
);
/**
Get Hsio Sata Pre Mem Config Policy
@param[in] SiPolicy The RC Policy PPI instance
@param[in] SataCtrlIndex SATA controller index
@retval Pointer to Hsio Sata Pre Mem Config Policy
**/
PCH_HSIO_SATA_PREMEM_CONFIG *
GetPchHsioSataPreMemConfig (
IN SI_PREMEM_POLICY_PPI *SiPreMemPolicy,
IN UINT32 SataCtrlIndex
);
#endif // _PEI_PCH_POLICY_LIB_H_