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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
|
//*************************************************************************
//*************************************************************************
//** **
//** (C)Copyright 1985-2011, American Megatrends, Inc. **
//** **
//** All Rights Reserved. **
//** **
//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 **
//** **
//** Phone: (770)-246-8600 **
//** **
//*************************************************************************
//*************************************************************************
//**********************************************************************
// $Header: /Alaska/SOURCE/Modules/TCG2/Common/TcgPlatformSetupPolicy/TcgPlatformSetupPolicy.h 1 4/21/14 2:18p Fredericko $
//
// $Revision: 1 $
//
// $Date: 4/21/14 2:18p $
//**********************************************************************
// Revision History
// ----------------
// $Log: /Alaska/SOURCE/Modules/TCG2/Common/TcgPlatformSetupPolicy/TcgPlatformSetupPolicy.h $
//
// 1 4/21/14 2:18p Fredericko
//
// 1 10/08/13 12:05p Fredericko
// Initial Check-In for Tpm-Next module
//
// 1 7/10/13 5:57p Fredericko
// [TAG] EIP120969
// [Category] New Feature
// [Description] TCG (TPM20)
//
// 1 9/27/11 10:11p Fredericko
// [TAG] EIP67286
// [Category] Improvement
// [Description] Initial check-in for Tcg Setup policy for Dxe
// [Files] TcgPlatformSetupPolicy.cif
// TcgPlatformSetupPolicy.c
// TcgPlatformSetupPolicy.h
// TcgPlatformSetupPolicy.sdl
// TcgPlatformSetupPolicy.mak
// TcgPlatformSetupPolicy.dxs
//
//
//**********************************************************************
//<AMI_FHDR_START>
//----------------------------------------------------------------------------
//
// Name: TcgPlatformpolicy.h
//
// Description: Header file for TcgPlatformpolicy
//
//----------------------------------------------------------------------------
//<AMI_FHDR_END>
#ifndef _TCG_PLATFORM_SETUP_POLICY_H_
#define _TCG_PLATFORM_SETUP_POLICY_H_
#include <Efi.h>
#include <token.h>
#include <Setup.h>
#define TCG_PLATFORM_SETUP_POLICY_GUID \
{ \
0xbb6cbeff, 0xe072, 0x40d2, 0xa6, 0xeb, 0xba, 0xb7, 0x5b, 0xde, 0x87, 0xe7 \
}
#define TCG_PPI_SYNC_FLAG_GUID \
{\
0xf3ed95df, 0x828e, 0x41c7, 0xbc, 0xa0, 0x16, 0xc4, 0x19, 0x65, 0xa6, 0x34 \
}
#define TCG_INTERNAL_FLAGS_GUID \
{\
0x70fff0ff, 0xa543, 0x45b9, 0x8b, 0xe3, 0x1b, 0xdb, 0x90, 0x41, 0x20, 0x80 \
}
//
// Protocol revision number
// Any backwards compatible changes to this protocol will result in an update in the revision number
// Major changes will require publication of a new protocol
//
#define TCG_PLATFORM_SETUP_PROTOCOL_REVISION_1 1
#pragma pack(1)
typedef struct {
//
// Byte 0, bit definition for functionality enable/disable
//
UINT8 TpmSupport; // 0: Disabled; 1: Enabled
UINT8 TcmSupport; // 0: Disabled; 1: Enabled
UINT8 TpmEnable; // 0: Disabled; 1: Enabled
UINT8 TpmAuthenticate;
UINT8 TpmOperation; // 0: Disabled; 1: Enabled
UINT8 DisallowTpm; // 0: Disabled; 1: Enabled
UINT8 Reserved1;
UINT8 Reserved2;
//
// Byte 1, bit definition for Status Information
//
UINT8 TpmHardware; // 0: Disabled; 1: Enabled
UINT8 TpmEnaDisable;
UINT8 TpmActDeact;
UINT8 TpmOwnedUnowned;
UINT8 TcgSupportEnabled; // 0: Disabled; 1: Enabled
UINT8 TpmError;
UINT8 PpiSetupSyncFlag;
UINT8 Reserved3;
//
// Byte 2, Reserved bytes
//
UINT8 Reserved4;
//
// Byte 3, Reserved bytes
//
UINT8 Reserved5;
//TPM 20 Configuration
UINT8 Tpm20Device;
} TCG_CONFIGURATION;
#pragma pack()
typedef
EFI_STATUS
(EFIAPI * UPDATE_AMI_TCG_STATUS_FLAGS)(
TCG_CONFIGURATION *StatusFlags,
BOOLEAN UpdateNvram
);
//
// AMT DXE Platform Policiy ====================================================
//
typedef struct _TCG_PLATFORM_SETUP_PROTOCOL {
UINT8 Revision;
TCG_CONFIGURATION ConfigFlags;
UPDATE_AMI_TCG_STATUS_FLAGS UpdateStatusFlags;
} TCG_PLATFORM_SETUP_PROTOCOL;
#endif
//*************************************************************************
//*************************************************************************
//** **
//** (C)Copyright 1985-2011, American Megatrends, Inc. **
//** **
//** All Rights Reserved. **
//** **
//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 **
//** **
//** Phone: (770)-246-8600 **
//** **
//*************************************************************************
//*************************************************************************
|