summaryrefslogtreecommitdiff
path: root/Silicon/BroxtonSoC/BroxtonSiPkg/NorthCluster/Include/Library/PeiSaPolicyLib.h
diff options
context:
space:
mode:
Diffstat (limited to 'Silicon/BroxtonSoC/BroxtonSiPkg/NorthCluster/Include/Library/PeiSaPolicyLib.h')
-rw-r--r--Silicon/BroxtonSoC/BroxtonSiPkg/NorthCluster/Include/Library/PeiSaPolicyLib.h92
1 files changed, 92 insertions, 0 deletions
diff --git a/Silicon/BroxtonSoC/BroxtonSiPkg/NorthCluster/Include/Library/PeiSaPolicyLib.h b/Silicon/BroxtonSoC/BroxtonSiPkg/NorthCluster/Include/Library/PeiSaPolicyLib.h
new file mode 100644
index 0000000000..3a83ceab1c
--- /dev/null
+++ b/Silicon/BroxtonSoC/BroxtonSiPkg/NorthCluster/Include/Library/PeiSaPolicyLib.h
@@ -0,0 +1,92 @@
+/** @file
+ Prototype of the PeiSaPolicy library.
+
+ Copyright (c) 2014 - 2016, Intel Corporation. All rights reserved.<BR>
+
+ This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php.
+
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef _PEI_SA_POLICY_LIB_H_
+#define _PEI_SA_POLICY_LIB_H_
+
+#include <Ppi/SaPolicy.h>
+#include <Library/ConfigBlockLib.h>
+#include <Library/BaseMemoryLib.h>
+#include <SaRegs.h>
+
+
+/**
+ Creates the Pre Mem Config Blocks for SA Policy.
+ It allocates and zero out buffer, and fills in the Intel default settings.
+
+ @param[in, out] SiSaPolicyPpi The pointer to get SI/SA Policy PPI instance.
+
+ @retval EFI_SUCCESS The policy default is initialized.
+ @retval EFI_OUT_OF_RESOURCES Insufficient resources to create buffer.
+
+**/
+EFI_STATUS
+EFIAPI
+SaCreatePreMemConfigBlocks(
+ IN OUT SI_SA_POLICY_PPI **SiSaPolicyPpi
+ );
+
+/**
+ Creates the Config Blocks for SA Policy.
+ It allocates and zero out buffer, and fills in the Intel default settings.
+
+ @param[in, out] SiSaPolicyPpi The pointer to get SI/SA Policy PPI instance.
+
+ @retval EFI_SUCCESS The policy default is initialized.
+ @retval EFI_OUT_OF_RESOURCES Insufficient resources to create buffer.
+
+**/
+EFI_STATUS
+EFIAPI
+CreateConfigBlocks (
+ IN OUT SI_SA_POLICY_PPI **SiSaPolicyPpi
+ );
+
+/**
+ Install PPI SiSaPolicyPpi.
+ While installed, RC assumes the Policy is ready and finalized. So please update and override
+ any setting before calling this function.
+
+ @param[in] SiSaPolicyPpi Pointer of policy structure.
+
+ @retval EFI_SUCCESS The policy is installed.
+ @retval EFI_OUT_OF_RESOURCES Insufficient resources to create buffer.
+
+**/
+EFI_STATUS
+EFIAPI
+SiSaInstallPolicyPpi (
+ IN SI_SA_POLICY_PPI *SiSaPolicyPpi
+ );
+
+/**
+ SaInstallPreMemPolicyPpi installs SaPolicyPpi.
+ While installed, RC assumes the Policy is ready and finalized. So please update and override
+ any setting before calling this function.
+
+ @param[in] SaPreMemPolicyPpi The pointer to SA PREMEM Policy PPI instance.
+
+ @retval EFI_SUCCESS The policy is installed.
+ @retval EFI_OUT_OF_RESOURCES Insufficient resources to create buffer.
+
+**/
+EFI_STATUS
+EFIAPI
+SaInstallPreMemPolicyPpi (
+ IN SI_SA_POLICY_PPI *SaPolicyPpi
+ );
+
+#endif // _PEI_SA_POLICY_LIBRARY_H_
+