blob: 70545c63845e9e85f269a6dab0f83587d44d6a0e (
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
|
/** @file
CPU policy PPI produced by a platform driver specifying various
expected CPU settings. This PPI is consumed by CPU PEI modules.
Copyright (c) 2009 - 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 _CPU_POLICY_PPI_H_
#define _CPU_POLICY_PPI_H_
#include <ConfigBlock.h>
#include <CpuAccess.h>
#include <CpuDataStruct.h>
#include <Ppi/BiosGuardConfig.h>
#include <Ppi/CpuConfigPreMem.h>
#include <Ppi/CpuConfig.h>
#include <Ppi/CpuOverclockingConfig.h>
#include <Ppi/PowerMgmtConfig.h>
//
// Extern the GUID for protocol users.
//
extern EFI_GUID gSiCpuPolicyPpiGuid;
#pragma pack(1)
//
// SI_CPU_POLICY_PPI revisions
//
#define SI_CPU_POLICY_PPI_REVISION 1
/**
The PPI allows the platform code to publish a set of configuration information that the
CPU drivers will use to configure the processor in the PEI phase.
This Policy PPI needs to be initialized for CPU configuration.
@note The PPI has to be published before processor PEIMs are dispatched.
**/
typedef struct {
CONFIG_BLOCK_TABLE_HEADER ConfigBlockTableHeader;
} SI_CPU_POLICY_PPI;
#pragma pack()
#endif
|