summaryrefslogtreecommitdiff
path: root/Board/EM/TCG2/Common/TcgPlatformSetupPolicy/TcgPlatformSetupPolicy.h
blob: 09637df8172bffd62168ccd7b8a191c1bd953c61 (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
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                         **
//**                                                                     **
//*************************************************************************
//*************************************************************************