blob: 3a83ceab1c42d181617287adebbd4a68479e049a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
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_
|