XenevaOS
Loading...
Searching...
No Matches
TpmTis.h
Go to the documentation of this file.
1
16#ifndef _TPM_TIS_H_
17#define _TPM_TIS_H_
18
19//
20// Set structure alignment to 1-byte
21//
22#pragma pack (1)
23
24//
25// Register set map as specified in TIS specification Chapter 10
26//
27typedef struct {
41 UINT8 Reserved2[3]; // 0dh
45 UINT32 IntSts; // 10h
53 UINT8 Status; // 18h
58 UINT8 Reserved3[9];
63 UINT8 Reserved4[0xed8]; // 28h
67 UINT16 Vid; // 0f00h
71 UINT16 Did; // 0f02h
75 UINT8 Rid; // 0f04h
76 UINT8 Reserved[0x7b]; // 0f05h
96 UINT8 VendorDefined[0x70];// 0f90h
98
99//
100// Restore original structure alignment
101//
102#pragma pack ()
103
104//
105// Define pointer types used to access TIS registers on PC
106//
108
109//
110// Define bits of ACCESS and STATUS registers
111//
112
116#define TIS_PC_VALID BIT7
120#define TIS_PC_ACC_ACTIVE BIT5
125#define TIS_PC_ACC_SEIZED BIT4
131#define TIS_PC_ACC_SEIZE BIT3
135#define TIS_PC_ACC_PENDIND BIT2
139#define TIS_PC_ACC_RQUUSE BIT1
143#define TIS_PC_ACC_ESTABLISH BIT0
144
148#define TIS_PC_STS_CANCEL BIT24
152#define TIS_PC_STS_VALID BIT7
157#define TIS_PC_STS_READY BIT6
161#define TIS_PC_STS_GO BIT5
165#define TIS_PC_STS_DATA BIT4
169#define TIS_PC_STS_EXPECT BIT3
173#define TIS_PC_STS_SELFTEST_DONE BIT2
177#define TIS_PC_STS_RETRY BIT1
178
179//
180// Default TimeOut value
181//
182#define TIS_TIMEOUT_A (750 * 1000) // 750ms
183#define TIS_TIMEOUT_B (2000 * 1000) // 2s
184#define TIS_TIMEOUT_C (750 * 1000) // 750ms
185#define TIS_TIMEOUT_D (750 * 1000) // 750ms
186
187#endif
unsigned int UINT32
Definition ProcessorBind.h:102
UINT8 Reserved
Definition Acpi30.h:40
uint32_t Reserved1
Definition pe.h:18
TIS_PC_REGISTERS * TIS_PC_REGISTERS_PTR
Definition TpmTis.h:107
unsigned short UINT16
Definition actypes.h:237
unsigned char UINT8
Definition actypes.h:236
Definition TpmTis.h:27
UINT16 Vid
Definition TpmTis.h:67
UINT16 Did
Definition TpmTis.h:71
UINT8 Access
Definition TpmTis.h:31
UINT32 IntfCapability
Definition TpmTis.h:49
UINT32 LegacyAddress2Ex
Definition TpmTis.h:92
UINT8 Status
Definition TpmTis.h:53
UINT8 IntVector
Definition TpmTis.h:40
UINT32 DataFifo
Definition TpmTis.h:62
UINT32 IntEnable
Definition TpmTis.h:36
UINT16 BurstCount
Definition TpmTis.h:57
UINT32 LegacyAddress1
Definition TpmTis.h:80
UINT8 Rid
Definition TpmTis.h:75
UINT32 IntSts
Definition TpmTis.h:45
UINT32 LegacyAddress1Ex
Definition TpmTis.h:84
UINT32 LegacyAddress2
Definition TpmTis.h:88