blob: 9431fa33406623e353577cedfefd377623d0d443 (
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
|
//**********************************************************************
//**********************************************************************
//** **
//** (C)Copyright 1985-2010, American Megatrends, Inc. **
//** **
//** All Rights Reserved. **
//** **
//** 5555 Oakbrook Pkwy, Suite 200, Norcross, GA 30093 **
//** **
//** Phone: (770)-246-8600 **
//** **
//**********************************************************************
//*************************************************************************
// $Header: /Alaska/SOURCE/Modules/TCG2/Libraries/TisLib/TcmPc.h 1 4/21/14 2:15p Fredericko $
//
// $Revision: 1 $
//
// $Date: 4/21/14 2:15p $
//*************************************************************************
// Revision History
// ----------------
// $Log: /Alaska/SOURCE/Modules/TCG2/Libraries/TisLib/TcmPc.h $
//
// 1 4/21/14 2:15p Fredericko
//
// 1 10/08/13 11:58a Fredericko
// Initial Check-In for Tpm-Next module
//
// 1 7/10/13 5:50p Fredericko
// [TAG] EIP120969
// [Category] New Feature
// [Description] TCG (TPM20)
// [Files] TisLib.cif
// TisLib.mak
// TcgTpm12.h
// TpmLib.h
// TcgCommon.h
// ZTEICTcmOrdinals.h
// TpmLib.c
// TcgCommon.c
// TisLib.sdl
// sha1.h
// INTTcgAcpi.h
// TcgPc.h
// TcmPc.h
// TcgEfiTpm.h
// TcgEFI12.h
//
// 2 3/29/11 12:27p Fredericko
// [TAG] EIP 54642
// [Category] Improvement
// [Description] 1. Checkin Files related to TCG function override
// 2. Include TCM and TPM auto detection
// [Files] Affects all TCG files
//
//
//*************************************************************************
//<AMI_FHDR_START>
//
// Name: TcmPc.h
//
// Description:
// Header file for Tcm structures
//
//<AMI_FHDR_END>
//*************************************************************************
#ifndef _TCMPC_H_
#define _TCMPC_H_
#include "TcgEfi12.h"
#pragma pack (push)
#pragma pack (1)
typedef struct tdTCM_PCR_EVENT {
UINT32 PCRIndex; // PCRIndex event extended to
UINT32 EventType; // TCG EFI event type
TCM_DIGEST Digest; // Value extended into PCRIndex
UINT32 EventSize; // Size of the event data
UINT8 Event[1]; // The event data
} TCM_PCR_EVENT;
struct _EFI_TCM_EV_S_CRTM_VERSION {
EFI_GUID VersionGuid;
};
struct _EFI_TCM_EV_POST_CODE {
EFI_PHYSICAL_ADDRESS PostCodeAddress;
UINT64 PostCodeLength;
};
struct _EFI_TCM_EV_TAG_OPTION_ROM_EXECUTE
{
UINT16 Reserved;
UINT16 PFA;
TCM_DIGEST Hash;
};
struct _EFI_TCM_EV_CPU_MICROCODE
{
EFI_PHYSICAL_ADDRESS MicrocodeEntrypoint;
};
union _EFI_TCM_EV_TAG_EVENT_DATA
{
struct _EFI_TCM_EV_TAG_OPTION_ROM_EXECUTE
OptionRomExecute;
};
struct _EFI_TCM_EV_TAG
{
UINT32 EventID;
UINT32 EventSize;
union _EFI_TCM_EV_TAG_EVENT_DATA EventData;
};
typedef struct _EFI_TCM_PCR_EVENT_HEADER
{
TPM_PCRINDEX PCRIndex;
UINT32 EventType;
TCM_DIGEST Digest;
UINT32 EventDataSize;
} EFI_TCM_PCR_EVENT_HEADER;
typedef union _EFI_TCM_PCR_EVENT_DATA
{
struct _EFI_TCM_EV_S_CRTM_VERSION SCrtmVersion;
struct _EFI_TCM_EV_POST_CODE PostCode;
struct _EFI_TCM_EV_TAG Tagged;
struct _EFI_TCM_EV_CPU_MICROCODE Mcu;
} EFI_TCM_PCR_EVENT_DATA;
typedef struct _EFI_TCM_PCR_EVENT
{
EFI_TCM_PCR_EVENT_HEADER Header;
EFI_TCM_PCR_EVENT_DATA Event;
} EFI_TCM_PCR_EVENT;
#pragma pack (pop)
#endif // _TPMPC_H_
|