You are on page 1of 7

TPM 2.

0 Hardware Interface Table


(TPM2)

August 9, 2013
Abstract

The Trusted Platform Module (TPM) 2.0 Hardware Interface Table


defines the information necessary for Windows to communicate with
a TPM 2.0 hardware interface on a system. (The term TPM 2.0 is
used in this document to refer to the next version of the Trusted
Computing Group TPM specification, which is also known as
TPM.next.) Original equipment manufacturers (OEMs) are advised
to collaborate with Microsoft and their hardware suppliers to
determine a TPM 2.0 hardware interface that is supported by
Windows and the system hardware. Information about the hardware
interface is described in the table. The table will have a reserved
signature (TPM2) in the Advanced Configuration and Power
Interface (ACPI) specification, and must be included in the Root
System Description Table (RSDT) if a TPM 2.0 module is on the
platform. The TPM2 table is listed in the RSDT.
This information applies to the following operating systems:
Windows 8.1
Windows 8
References and resources discussed here are listed at the end of this
paper.
The current version of this paper is maintained on the web at:
TPM 2.0 Hardware Interface Table (TPM2)

Information detailed in this document is only a subset of Trusted Execution


Environment ACPI Profile, please use http://msdn.microsoft.com/enus/library/windows/hardware/jj923067.aspx for the detailed understanding of TrEE
ACPI Profile and licensing terms.

TPM 2.0 Hardware Interface Table (TPM2) - 2

TPM 2.0 Hardware Interface Table (TPM2) - 2

August 9, 2013
2013 Microsoft. All rights reserved.

TPM 2.0 Hardware Interface Table (TPM2) - 3

Document History
Date

Change

November 29,
2011
August 9, 2013

First publication
Second publication

Contents
Introduction........................................................................................ 3
TPM 2.0 Hardware Interface Table header..........................................3
TPM 2.0 Hardware Interface Table body..............................................4
Control Area........................................................................................ 5
Further information............................................................................. 5
Resources........................................................................................... 5

TPM 2.0 Hardware Interface Table (TPM2) - 3

August 9, 2013
2013 Microsoft. All rights reserved.

TPM 2.0 Hardware Interface Table (TPM2) - 4

Introduction
To determine which TPM 2.0 hardware interface a system supports,
the Windows operating system will use the TPM 2.0 Hardware
Interface Table (TPM2 table). (The term TPM 2.0 is used in this
document to refer to the next version of the Trusted Computing
Group TPM specification, which is also known as TPM.next.) The
TPM2 table consists of a standard ACPI header followed by a set of
reserved flags, a control area address, an enumerated start method,
and a variable-length set of platform-specific parameters. The
Control Area has status fields to enable communication between a
device driver and the TPM 2.0 device, and contains the location of
buffers used to write and read responses to or from the device. In
Figure 1, the TPM2 table is the only ACPI table, but additional
structures that it references are shown too.
Figure 1. TPM 2.0 Hardware Interface Table structure

Control Area
Structure

TPM2
ACPI Table Header

Flags

Control Area Address

Start Method

Reserved
Error

Command Area

Cancel

Command
Buffer

Start
Interrupt
Control
Command Size

Command
Platform Specific Parameters Address
Response Size
Response
Address

Response Area
Response
Buffer

TPM 2.0 Hardware Interface Table (TPM2) - 4

August 9, 2013
2013 Microsoft. All rights reserved.

TPM 2.0 Hardware Interface Table (TPM2) - 5

TPM 2.0 Hardware Interface Table header


ACPI tables always start with the ACPI table header structure. For the
TPM 2.0 Hardware Interface Table, this header will have the values
shown in Table 1.
Table 1. ACPI table header format
Field

Byt
e
len
gth

Byte
offse
t

ACPI Header
Signature
Length

4
4

0
4

Revision
Checksum

1
1

8
9

OEMID

10

OEM Table

16

OEM
Revision
Creator ID

24

28

Creator
Revision

32

ID

Value

Comment

TPM2
52 + <size of
platformspecific
parameters>
03
<checksum>
<firmwarespecific>
<firmwarespecific>
<firmwarespecific>
<firmwarespecific>
<firmwarespecific>

36 bytes total.
Signature for the table.
Length, in bytes, of the
entire table.
Revision.
Entire table must sum
to zero.
OEM ID.
The table ID is the
manufacturer model
ID.
OEM revision for the
supplied OEM Table ID.
Vendor ID of utility that
created the table.
Revision of utility that
created the table.

TPM 2.0 Hardware Interface Table body


After the standard ACPI table header structure fields, the TPM 2.0
Hardware Interface Table contains the table-specific fields in Table 2.
(The offset values in Table 2 do not include the 36 bytes of the ACPI
header. The actual offset of the entries from the start of the TPM 2.0
Hardware Interface Table is the byte offset in table 2 plus the ACPI
table header size of 36 bytes.)
Table 2. TPM 2.0 Hardware Interface Table body definition
Field

TPM2 Table

Byte
lengt
h

Byt
e
offs
et

Description

16 + <size of platform-specific parameters>


TPM 2.0 Hardware Interface Table (TPM2) - 5

August 9, 2013
2013 Microsoft. All rights reserved.

TPM 2.0 Hardware Interface Table (TPM2) - 6

Flags
Address of
Control Area

Start Method

PlatformSpecific
Parameters

4
8

0
4

12

Varia
ble

16

bytes total
Reserved. Must always be zero.
Physical address of the Control Area. The
Control Area contains status registers and
the location of memory buffers for
communicating with the device. The area
may be in either TPM 2.0 device memory or
in memory reserved by the system during
boot. Interfaces that do not require the
Control Area Structure set this value to zero.
The start method selector determines which
mechanism the device driver uses to notify
the TPM 2.0 device that a command is
available for processing. This field may
contain one of the following values:
Value Description
0
Reserved (not used)
1
Reserved (vendor-specific)
2
Uses an ACPI Start method
3
Reserved (vendor-specific)
4
Reserved (vendor-specific)
5
Reserved (vendor-specific)
6
Reserved (vendor-specific)
7
Uses the Command Response
Buffer Interface
8
Uses the Command Response
Buffer Interface with
ACPI start method

Reserved for future use


The content of the platform-specific
parameters is determined by the start
method used by the systems TPM device
interface. This field contains values that may
be used to initiate command processing.
This information may be vendor-specific.
If the Start Method value is 2 then this field
is four bytes in size and must be all zeros.

Control Area
The Control Area structure is not part of the TPM 2.0 Hardware
Interface Table and the structure does not exist for all interface
types. The Control Area structure contains status fields as well as
other control bits/fields and two addresses. The Control Area
contains the physical address of the command buffer and the
physical address of the response buffer. Generally, software will
TPM 2.0 Hardware Interface Table (TPM2) - 6

August 9, 2013
2013 Microsoft. All rights reserved.

TPM 2.0 Hardware Interface Table (TPM2) - 7

write commands to be executed to the command buffer and read


responses from the response buffer. The status registers help
software communicate with the hardware interface, but their usage
may be vendor-specific.
Table 3. Control Area structure definition
Field

Byte
lengt
h

Byt
e
offs
et

Description

Control Area
Status Fields
Reserved
Error

48 bytes total
4
4

0
4

Cancel

Start

12

Interrupt
Control
Command Size
Command
Address
Response Size
Response
Address

16

Reserved. Must be zero.


Set by the system to indicate an error
condition.
Set by software to cancel command
processing.
Set by software to indicate that a command
is available for processing.
Reserved. Must be zero.

4
8

24
28

Size of the command buffer.


Physical address of the command buffer.

4
8

36
40

Size of the response buffer.


Physical address of the response buffer.

Further information
For more information regarding a specific interface, please contact
Microsoft.

Resources
ACPI Specification
www.acpi.info
TPM Specifications
http://www.trustedcomputinggroup.org/

TPM 2.0 Hardware Interface Table (TPM2) - 7

August 9, 2013
2013 Microsoft. All rights reserved.

You might also like