S
P
E
C
I
F
I
C
A
T
I
O
N

TCG PC Client Platform
Physical Presence
Interface Specification
Version 1.4
Revision 15
July 8, 2022

Contact: admin@trustedcomputinggroup.org

PUBLIC REVIEWWork in ProgressThis document is an intermediate draft
for comment only and is subject tochange without notice. Readers should
not design products based on thisdocument.

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEW© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

DISCLAIMERS, NOTICES, AND LICENSE TERMS
THIS SPECIFICATION IS PROVIDED “AS IS” WITH NO WARRANTIES WHATSOEVER, INCLUDING ANYWARRANTY OF MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR ANY PARTICULAR PURPOSE, OR
ANY WARRANTY OTHERWISE ARISING OUT OF ANY PROPOSAL, SPECIFICATION OR SAMPLE.
Without limitation, TCG disclaims all liability, including liability for infringement of any proprietary rights, relating to useof information in this specification and to the implementation of this specification, and TCG disclaims all liability forcost of procurement of substitute goods or services, lost profits, loss of use, loss of data or any incidental,
consequential, direct, indirect, or special damages, whether under contract, tort, warranty or otherwise, arising in any
way out of use or reliance upon this specification or any information herein.
This document is copyrighted by Trusted Computing Group (TCG), and no license, express or implied, is granted
herein other than as follows: You may not copy or reproduce the document or distribute it to others without written
permission from TCG, except that you may freely do so for the purposes of (a) examining or implementing TCG
specifications or (b) developing, testing, or promoting information technology standards and best practices, so longas you distribute the document with these disclaimers, notices, and license terms.
Contact the Trusted Computing Group at www.trustedcomputinggroup.org for information on specification licensing
through membership agreements.
Any marks and brands contained herein are the property of their respective owners.

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 1© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

CHANGE HISTORYREVISIONDATE

DESCRIPTION

1.40/1February 9, 2021•

Convert spec 1.30 rev 52 to new template1.40/2February 9, 2021•

Incorporate errata for 1.30

1.40/3February 9, 2021•

Add language proposal for PPI UEFI variables

1.40/4

April 15, 2021•

Address comment about read only flags for PPI UEFI variables

1.40/5

May 24, 2021•

Change PPResponse to LastPPResponse

1.40/6

June 10, 2021•

Allow both ACPI and UEFI mechanism

1.40/7

June 20, 2021•

Incorporate proposed text to have config variable

1.40/8June 20, 2021•

Re-add UEFI flags variable section

1.40/9June 21, 2021•

Address comments for UEFI flags variable

1.40/10October 3, 2021•

Address feedback.

1.40/11

October 22, 2021•

Added name of Tcg2PhysicalPresenceFlags UEFI PPI variable•
1.40/12

November 8, 2021••

Address feedback from PC Client WG: add normative statements for UEFI
variable layout,
Add sentence to compliance section,
Add references

1.40/13

April 30, 2022•

Address comments from Technical Committee

1.40/14

May 1, 2022•

Minor changes to start of informative comments, description in table 2

1.40/15

July 8, 2022•

Address comments from Technical Committee

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 2© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

CONTENTSDISCLAIMERS, NOTICES, AND LICENSE TERMS ................................................................................................... 1
CHANGE HISTORY .................................................................................................................................................... 2
List of Tables ............................................................................................................................................................... 5
List of Figures .............................................................................................................................................................. 5
1

SCOPE ................................................................................................................................................................ 6
1.1 Key Words ................................................................................................................................................... 6
1.2 Statement Type ............................................................................................................................................ 6
1.3 Normative references ................................................................................................................................... 6
1.4 Terms and definitions ................................................................................................................................... 7
1.4.1 buffer ................................................................................................................................................ 7
1.4.2 CLEAR ................................................................................................................................................ 7
1.4.3 command ............................................................................................................................................ 7
1.4.4 octet................................................................................................................................................ 7

1.4.5 platform operator................................................................................................................................. 7
1.4.6 response ............................................................................................................................................. 7
1.4.7 SET................................................................................................................................................ 7

1.4.8 TPM Device Reset .............................................................................................................................. 7
1.4.9 Trusted Platform Module - TPM .......................................................................................................... 7
1.4.10firmware .................................................................................................................................. 7

1.5 Abbreviated Terms ....................................................................................................................................... 7
1.6 Bit and Octet Numbering and Order ............................................................................................................. 8
1.7 Numbers ...................................................................................................................................................... 92

Compliance ........................................................................................................................................................ 103

TPM Management Overview ............................................................................................................................. 11

4

ACPI Physical Presence Interface ..................................................................................................................... 14
4.1 ACPI Functions .......................................................................................................................................... 18
4.1.1 Get Physical Presence Interface Version .......................................................................................... 19
4.1.2 Submit TPM Operation Request to Pre-OS Environment ................................................................. 20
4.1.3 Get Pending TPM Operation Requested By the OS ......................................................................... 22
4.1.4 Get Platform-Specific Action to Transition to Pre-OS Environment................................................... 24
4.1.5 Return TPM Operation Response to OS Environment ...................................................................... 25
4.1.6 Submit preferred user language........................................................................................................ 28
4.1.7 Submit TPM Operation Request to Pre-OS Environment 2 .............................................................. 28
4.1.8 Get User Confirmation Status for Operation ..................................................................................... 30
4.2 Parameter passing ..................................................................................................................................... 32

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 3© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

5

UEFI Physical Presence Interface ..................................................................................................................... 33
5.1 UEFI request variable ................................................................................................................................ 33
5.2 UEFI flag variable....................................................................................................................................... 34
5.3 UEFI config variable ................................................................................................................................... 34
5.4 Mapping of ACPI Functions to UEFI variables ........................................................................................... 35

6Operation Definitions ......................................................................................................................................... 38

7

Confirmation Dialog and Keys ........................................................................................................................... 49

8

Physical Presence Interface Pseudo Code ........................................................................................................ 62

9Scenario with recommended default for Persistent Firmware TPM Management Flags .................................... 67
9.1 Persistent Firmware TPM Management Flags for TPM 2.0........................................................................ 67

10

References ........................................................................................................................................................ 69

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 4© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

List of Tables
Table 1: UEFI Flag Variable Bit field assignment ...................................................................................................... 34
Table 2: Mapping of ACPI functions to UEFI variables .............................................................................................. 36
Table 3: Physical Presence Interface Operation Summary for TPM 1.2.................................................................... 40
Table 4: Physical Presence Interface Operation Summary for TPM 2.0.................................................................... 41
Table 5: Definition of Operation Actions .................................................................................................................... 43
Table 6: Confirmations of Physical Presence Interface Operations ........................................................................... 51
Table 7: User Confirmation Key Mappings ................................................................................................................ 60
Table 8: User Confirmation keys for Systems without keyboards .............................................................................. 61
Table 9: Persistent Firmware TPM Management Flags for TPM 1.2 ......................................................................... 67
Table 10: Scenario 1 ................................................................................................................................................. 67
Table 11: Scenario 2 ................................................................................................................................................. 68
Table 12: Scenario 3 ................................................................................................................................................. 68

List of Figures
Figure 1: Flowchart for timeout behavior ................................................................................................................... 50

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 5© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

1 SCOPE
This specification defines an interface between an operating system and the firmware to manage the configuration ofa TPM and, if required, initiate TPM related operations. The specification gives suggestions on UI wording forinteractions with users of a system, if UI interaction is required.

1.1 Key Words
The key words “MUST,” “MUST NOT,” “REQUIRED,” “SHALL,” “SHALL NOT,” “SHOULD,” “SHOULD NOT,”“RECOMMENDED,” “MAY,” and “OPTIONAL” in this document normative statements are to be interpreted as
described in RFC-2119, Key words for use in RFCs to Indicate Requirement Levels.

1.2 Statement Type
Please note a very important distinction between different sections of text throughout this document. There are two
distinctive kinds of text: informative comment and normative statements. Because most of the text in this specification
will be of the kind normative statements, the authors have informally defined it as the default and, as such, havespecifically called out text of the kind informative comment. They have done this by flagging the beginning and end ofeach informative comment and highlighting its text in gray. This means that unless text is specifically marked as of
the kind informative comment, it can be considered a kind of normative statements.

Start of informative comment
Example:This is the first paragraph of 1–n paragraphs containing text of the kind informative comment ...
This is the second paragraph of text of the kind informative comment ...
This is the nth paragraph of text of the kind informative comment ...
To understand the TCG specification the user must read the specification. (This use of MUST does not require any
action).
End of informative comment

1.3 Normative references
The following referenced documents are indispensable for the application of this document. For dated references,
only the edition cited applies. For undated references, the latest edition of the referenced document (including any
amendments) applies.
A TPM in adherence to either:
1. The TPM Main Specification Level 2 Version 1.2
Or
2. The TPM library Specification, Family “2.0”A PC Client platform in adherence to either:
1. The TCG PC Client Specific Implementation Specification for Conventional BIOS Version 1.20
Or
2. The TCG EFI Platform Specification Version 1.20 and the TCG EFI Protocol Specification Version 1.20
Or
3. The TCG PC Client Platform TPM Profile (PTP) Specification Version 2.0

Secure Storage Platforms supported by this specification should adhere to:

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 6© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

1. TCG Storage Feature Set: Block SID Authentication Specification

1.4 Terms and definitions
For the purposes of this document, the following terms and definitions apply.

1.4.1 buffer
data structure used for transport to and from the TPM.

1.4.2 CLEAR
bit with a value of zero (0), or the action of causing a bit to have a value of zero (0)1.4.3 command
values sent to the TPM to indicate the operation to be performed.

1.4.4 octet
eight bits of data
Start of informative comment
On most modern computers, this is the smallest addressable unit of data.
End of informative comment

1.4.5 platform operator
the person interacting with the machine.

1.4.6 response
values returned by the TPM when it completes processing of a command.

1.4.7 SET
bit with a value of one (1), or the action of causing a bit to have a value of one (1)1.4.8 TPM Device Reset
resetting of TPM internal state due to _TPM_Init

1.4.9 Trusted Platform Module - TPM
implementation compliant with the TPM Main Specification; Family 1.2 or TPM Library Specification; Family 2.0;
Level 00; Revision 116 or later

1.4.10 firmware
code that is executed first when a PC platform is powered on; usually the BIOS or UEFI.

1.5 Abbreviated Terms
For the purposes of this document, the following abbreviations apply.
Abbreviation

Description_TPM_

Prefix for an indication passed from the system interfaceof the TPM to a Protected Capability defined in thisspecification_DSM

Device Specific Method

ACPI

Advanced Configuration and Power Interface

AK

Accept Key

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 7© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

Abbreviation

Description

BIOS

Basic Input/Output System

CA

Certificate Authority

CRTM

Core Root of Trust for Measurement

D-RTM

dynamic RTM

EKEndorsement Key

EPS

Endorsement Primary Seed

MSb

Most Significant bit

MSO

Most Significant Octet

NVRAM

Non-Volatile Random Access Memory

PCR

platform configuration register(s)PMPlatform Manufacturer

POST

Power on Self-Test

PP

Physical Presence

PPI

Physical Presence Interface

RTM

Root of Trust for Measurement

S-RTM

static RTM

SHA

Secure Hash Algorithm

SHA1

secure hash algorithm with a 20 byte (160 bits) digest
value

SHA256secure hash algorithm with a 32 byte (256 bits) digest
value

SHA384secure hash algorithm with a 48 byte (384 bits) digest
value

SHA512secure hash algorithm with a 64 byte (512 bits) digest
value

TCG

Trusted Computing Group

TPM

Trusted Platform Module

TPM2_

Prefix for a command defined in this specification

UEFI

Unified Extensible Firmware Interface

UI

User Interface

1.6 Bit and Octet Numbering and Order
An integer value is considered to be an array of one or more octets. The octet at offset zero within the array is themost significant octet (MSO) of the integer. Bit number 0 of that integer is its least significant bit in the last octet in
the array.
Start of informative comment
A 32-bit integer is an array of four octets; the MSO is at offset [0], and the most significant bit is bit number 31. Bit
zero of this 32-bit integer is the least significant bit in the octet at offset [3] in the array.
TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 8© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

Note: Array indexing is zero-based.
Note: This definition does not match the “network bit order” used in many IETF documents, such as RFC 4034. In
those documents, the most significant bit of a datum has the lowest bit number. It is conventional practice to send thatbit first when using a serial network protocol, and the bits are numbered in the order they are sent. This specification
numbers bits according to their corresponding power of two within a datum. This numbering corresponds to the normal
convention for bit numbering in hardware registers that hold integer values rather than fixed-point numbers.
End of informative comment
The first listed member of a structure is at the lowest offset within the structure and the last listed member is at thehighest offset within the structure.
For a character string (letters delimited by “”), the first character of the string contains the MSO.

1.7 Numbers
Numbers are decimal unless a different radix is indicated.
Unless the number appears in a table intended to be machine readable, the radix is a subscript following the digitsof the number. Only radix values of 2 and 16 are used in this specification.
Radix 16 (hexadecimal) numbers have a space separator between groups of two hexadecimal digits.
Start of informative comment
Example:40 FF 12 3416
End of informative comment
Radix 2 (binary) numbers use a space separator between groups of four binary digits.
Start of informative comment
Example:0100 1110 00012
End of informative comment
For numbers using a binary radix, the number of digits indicates the number of bits in the representation.
Start of informative comment
Examples:2016 is a hexadecimal number that contains exactly 8 bits and has a decimal value of 32.
10 00002 is a binary number that contains exactly 6 bits and has a decimal value of 32.
0 2016 is a hexadecimal number that contains exactly 12 bits and has a decimal value of 32.
End of informative comment
A number in a machine-readable table may use the “0x” prefix to denote a base 16 number. In this format, thenumber of digits is not always indicative of the number of bits in the representation.
Start of informative comment
0x20 is a hexadecimal number with a value of 32, and the number of bits is determined by the context.
End of informative comment

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 9© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

2 Compliance
To be compliant with this specification, a system providing a Physical Presence Interface for TPM 1.2 or TPM 2.0
SHALL implement the mandatory operations for the respective family of TPM devices. A compliant system MAY
implement the optional operations for the respective family of TPM devices. A compliant system MUST implement
the operations that it provides as described in this specification. A compliant system MUST implement either the
ACPI Physical Presence Interface (see Section 4) or the UEFI Physical Presence Interface (see Section 5). A
compliant system MAY implement both interfaces.

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 10© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

3 TPM Management Overview
Start of informative comment
Physical Presence
Physical Presence is a form of authorization to perform certain TPM functions. This authorization normally comesfrom the platform operator. For TPM 1.2 devices the functions requiring physical presence are those that perform
provisioning and re-provisioning operations such as allowing ownership and clearing ownership when the current
owner authorization value is unknown. For TPM 2.0 devices physical presence is associated with operations that
require platform authorization but are initiated by the OS. Usually, platform authorization can only be given by
firmware, not by the OS.
There are two methods to provide physical presence authorization in a PC Client environment: the command method
and the hardware method. These two methods are defined for TPM 1.2 devices in the TPM 1.2 Main Specificationand for TPM 2.0 devices in the PC Client Platform TPM Profile Specification.
Hardware method to assert physical presence
An example of an implementation of the hardware method is a button on the front of the platform wired to a pin on the
TPM. Pressing the button causes the pin to change the polarity and would cause the TPM to set its internal physicalpresence flag. Using this hardware method, commands requiring the indication of physical presence could beexecuted at any time (in the pre-OS environment or from the OS environment) as long as the button were pressed
and, for TPM 2.0, platform authorization is available. Implementation of the hardware method is outside the scope of
this specification.
Physical Presence as discussed in the TPM Library specification for TPM 2.0, Part 1, refers to the hardware method.
TPM 2.0 commands that should require a hardware assertion of physical presence have to be on a list of commands– the “PP command list”. TPM 2.0 commands can be added or removed from the list using the TPM2_PP_Commands
command. For instance, if a system wants to assert clearing the TPM with the hardware method, firmware has toensure that the TPM2_Clear command is added to the PP command list. Note that the TPM2_PP_Commands
command requires physical presence itself.
Another method of asserting physical presence is to connect the physical presence pin of a TPM to an output pin of
a board management controller (BMC). The BMC can be instructed by an authorized operation to reset the TPM’s
physical presence pin on the next boot or for a certain amount of time.
Command method to assert physical presence
Providing a wire along with a button or switch to the outside of the platform is not feasible in some cases due to cost,form factor, usage, or other issues. For this reason, a second method of asserting physical presence called the“command method” is defined.
For the command method, firmware presents a user interface (UI) to explain the operation that has been requested.
A physically present user confirms or rejects the operation by pressing a key on the keyboard. The command method
then authorizes the TPM command to be sent to the TPM. No further check for physical presence is done in the TPM.
The TPM performs the TPM operation if the user confirmed it through the UI.
One of the properties required of the indication of physical presence is, it must be done by the platform operator,
typically the user, when physically present at the platform. This requires the command method to be restricted to only
be available while the platform state can provide this assurance. On a PC Client, this state usually exists during thebootstrapping of the platform prior to the availability of a network stack or untrusted software – specifically during theearly stages of a Static Root of Trust for Measurement (S-RTM). These commands are therefore available only after
TPM_Startup (for TPM 1.2) or TPM2_Startup (for TPM 2.0) and use of these commands must be disabled once the
S-RTM determines the user has not provided an indication of physical presence. TPM 2.0 devices only require
platform authorization to execute privileged commands. The platform authorization should only be present in a trusted
environment, for instance in the firmware during boot. It is desirable to request user confirmation for some of theoperations requiring platform authorization, especially those that are initiated through PPI operations.

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 11© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

This specification is targeted at platforms implementing this “command method” of providing an indication of physicalpresence.
Enhancements added in version 1.2 of this specification permit the operator to set Persistent Firmware TPM
Management Flags that allow certain actions to occur without an operator being physically present. The intent is toallow a Platform Manufacturer or an IT department to configure a platform once, so the operating system is able toperform TPM management actions without operator involvement in the future.
TPM Management Authorization
The TPM may be used in a variety of scenarios on a PC Client Platform to provide trusted computing. Depending on
the scenario, different authorization schemes are appropriate to manage TPM actions like enabling, disabling, clearing
the TPM or updating the TPM firmware.
This specification defines the two authorization mechanisms below to control the ability to perform TPM actions:•Physical Presence Control – A platform operator physically present at the platform must press a key toauthorize an action. A benefit of this authorization method is that software cannot manage the TPM without
operator involvement and unevaluated software may be permitted to run without risk that the TPM state willchange without operator approval. A drawback is an operator must be physically present at the computer tomanage the TPM, inhibiting remote IT administration of the TPM state. This mechanism may be appropriate
for a high security scenario where the platform operator has enough knowledge to participate in TPM
management.

•

Software Control – An OS or other software controlling the system manages the TPM without the need for aphysically present operator to approve changes. A benefit is an operator does not need to be physicallypresent to manage the TPM. A drawback is software may change the TPM state without operator involvement,
so unevaluated software must be prevented from controlling the system. This mechanism may be appropriate
for a managed desktop scenario where OS enforced access controls strictly regulate access to TPM
management APIs and TPM management is performed remotely by an IT department.

Different TPM management actions have different consequences. For example, disabling the TPM can be reversedby enabling the TPM. However, clearing the TPM cannot be reversed. For this reason, this specification allows
different aspects of TPM management to be configured to independently use one of the authorization mechanisms
described above. The different aspects defined in this specification are Provisioning (and re-provisioning), Clearing,and Maintenance of the TPM.
Enabling TPM 1.2 Devices
If a TPM 1.2 device is in a disabled and deactivated state, there exist multiple PPI operations to enable and active the
TPM device. An end-user can enable the TPM device and then take ownership of the device. For example, if the TPM
1.2 device is disabled and deactivated, the end user can invoke PPI operation 22 to enable, activate, and clear the
TPM. After the TPM is cleared, the user can take ownership of the device.
Enabling TPM 2.0 Devices
A TPM 2.0 device has no notion of the TPM 1.2 semantic of disabled or deactivated states. A TPM 2.0 device may
have some of its hierarchies disabled. To present similar PPI operations for TPM 1.2 and TPM 2.0 devices, some PPI
operations to enable and activate a TPM are mapped to TPM operations that enable or disable hierarchies. This
mimics a similar sematic.
To disable TPM 2.0 hierarchies, firmware can CLEAR ehEnable, shEnable, phEnable, and phEnableNV using the
TPM2_HierarchyControl command. This specification provides operations to CLEAR ehEnable and shEnable but not
phEnable nor phEnableNV. Because hierarchies are enabled on every boot, firmware has to perform the CLEAR on
every boot. It has to keep track of the current enablement state of the TPM 2.0 device across boots.
Other mechanisms to deactivate or disable a TPM 2.0 device are outside of the scope of this specification.
Other TPM Management Authorization

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 12© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

Additional platform-manufacturer-specific authorization mechanisms not defined in this specification may be provided
on platforms. Examples are firmware configuration utilities or remote system management tools that enable or disable
the TPM with authorization controlled by an authenticated platform owner (e.g., owner-enrolled strong authenticator,
or firmware password). These implementations are vendor specific.
Storage Management
Enhancements added in version 1.30 of this spec added operations that allow the management of secure storage
devices. This specification defines the operation IDs and the associated Persistent Firmware Storage Management
Flags. These operations do not change TPM state but manipulate the state of the secure storage device. This
specification does not recommend default values for the Persistent Firmware Storage Management Flags. These aredefined in the TCG Storage Feature Set: Block SID Authentication Specification.
Using UEFI variables to communicate PPI operations
Starting with version 1.40 of this specification, PPI commands from the OS to platform firmware can be communicatedusing UEFI variables, as well as the previously defined ACPI method. This allows the use of PPI on systems where
the ACPI method is impractical.
End of informative comment

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 13© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

4 ACPI Physical Presence Interface
Begin of informative comment
The ACPI Physical Presence Interface (PPI) utilizes the industry-standard Advanced Configuration and PowerInterface (ACPI) to provide a communication mechanism between the OS and the firmware, enabling the OS and thefirmware to cooperate to provide a simple and straightforward platform user experience for administering the TPM
without sacrificing security.
For TPM 1.2 devices, the PPI was designed under the assumption that TPM commands requiring physical presence
should only be executable in the pre-OS environment. Given this constraint, the PPI eases administration byminimizing the need to understand and configure a platform’s firmware.
The implementation of the PPI specification is recommended for platforms that support the command method ofasserting physical presence (as indicated by the physicalPresenceCMDEnable permanent flag of the TPM 1.2).
For TPM 2.0 devices, the PPI is designed for TPM commands requiring the platform authorization and which are
initiated from an OS, e.g., commands that change the TPM state. A TPM 2.0 device may also implement a physicalpresence pin so that physical presence can be required in conjunction with platform authorization.
In order to minimize the platform storage required to implement this Interface, the OS is restricted to requesting theexecution of at most one operation at a time. An operation is defined as one or more TPM commands that requirephysical presence authorization. By enumerating the most likely sequences of TPM commands and mapping them tounique operations, most standard functionality involving physical presence can be carried out within one restart of theOS. For detailed definitions of the TPM commands that are associated with each operation identified in the Interface,see Part 3 of the v1.2 TCG Main specification or Part 3 of the TPM Library Specification, Family “2.0”.
Some operations permitted through this PPI do not change the state of the TPM, but instead change PersistentFirmware TPM Management Flags that control whether a physically present user must confirm future physicalpresence operations.
For more information on ACPI, see the materials available for download at http://uefi.org/acpi/specs. Refer to Section
9.14.1 of the ACPI 5.0 spec for information on the _DSM control method object. Refer to Section 19.2.5 of the ACPI
5.0 spec for information about data types. For example, the “Integer” data type is a 64-bit little-endian unsigned integer(with only the lower 32 bits having meaning) and the “String” type is a null-terminated ASCII string.
Defined Uses:
The primary use case of the PPI for command method is as follows:
1. Within the OS environment, the user requests an operation that requires physical presence or platform
authorization. For instance, the user request to clear the TPM.
2. The OS informs the user via its user interface that a platform-specific procedure (e.g., reboot or shutdown anduser confirmation) must take place to successfully execute the operation. For instance, a dialog box may tell
the user to reboot to clear the TPM.
3. The OS communicates the requested operation to the firmware through ACPI. The platform’s ACPI handler
stores the requested operation in a location accessible to the pre-OS environment (such as, CMOS, Flash,
TPM NV Index, etc.). The location does not have to be protected, as explained below (Security Implications).
For instance, the OS uses the TPM device’s _DSM method to invoke the PPI operation to request clearing
the TPM.
4. The OS reboots or shuts down the platform; this is a user-visible event and transitions the platform to the
CRTM-initiated pre-OS environment.
5. The firmware reads the OS’s operation request from its stored location.
6. Depending on the operation and the state of Persistent Firmware TPM Management Flags, the firmware
automatically approves the operation or asks a physically present user for confirmation. For instance, text ispresented to the user to press a key to confirm clearing the TPM.
TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 14© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

Note: Firmware may have to measure and then execute a Platform Manufacturer (PM) pre-boot environment
utility to prompt the user for confirmation.
7. If the operation is approved, depending on the type of operation, the firmware executes TPM commands thatcarry out the requested operation or change Persistent Firmware TPM Management Flags. For instance, thefirmware executes the TPM_ForceClear or TPM2_Clear command.
8. The firmware clears the storage location containing the operation request.
9. The firmware stores the response of the last requested operation. When the OS loads it can query the
response via an ACPI method. The response can be a success code if the operation was confirmed andexecuted, a failure code if the user failed to issue a confirmation, or a TPM command error.
10. The OS loads, determines the response of the requested operation, and takes action as necessary.
Table 3 and Table 4 identify the set of operations available to the OS.

Security Implications:
When Persistent Firmware TPM Management Flags or Persistent Firmware Storage Management Flags require aphysically present user to approve an operation, it is imperative that the pre-OS environment verifies the physicalpresence of the user and confirms that the physically present user in fact approves the execution of an operation. Thisconfirmation is achieved via a pre-OS dialog. The dialog should be implemented such that the user can understandat a high level the security implications of the operation and must actively choose to execute the operation (e.g., thedefault should not be to confirm the operation). Table 6 has recommended user confirmation text for each operation.
If the request is rejected by the physically present user, the pre-OS environment must clear the request so that theuser is not prompted to confirm again on the next reboot. It is recommended to present the dialog only for a limited
amount of time. This allows the machine to continue boot if the user is not present. An implementation may choose touse an infinite timeout.
Note: It is possible that malicious software repeatedly invokes the ACPI call to submit operation requests. It isadvisable for the PM to prevent that such abuse will cause irreparable damage to the platform (e.g., by burning out
flash memory used to store the requests).
The location(s) used by the firmware to store the pending operation (including any necessary platform reset) is not
required to be trusted or secure. This is because if the operation is not performed, or performed incorrectly, therequested changes to the TPM state will not take place. This does not introduce a vulnerability to the user.
If a requested operation requires multiple platform resets, firmware stores the assertion of the indication of physicalpresence in a trusted location between resets.
Storage Implications for passing information between the OS and the firmware:
The minimum platform storage for operation requests is sufficient for the operations defined in this specification.
Vendor specific operations may require additional storage space.
The minimum platform storage required to implement the information exchange between the OS and the firmware(and vice-versa) for this Interface for TPM 1.2 is as follows:
5 bits – Stores the pending operation request submitted by the OS.
5 bits – Stores the most recent operation request acted upon by the firmware.
7 bits – Stores the most recent operation response acted upon by the firmware.
The data above assumes that no vendor specific TPM 1.2 operations or error codes are implemented and there exist
less than 128 possible operation responses. As of the time of this writing, there exist 105 possible TPM 1.2 operation
responses consisting of 99 TPM fatal errors, 4 TPM non-fatal errors, and 2 additional Physical Presence Interfacespecific responses (User Abort and firmware Failure).
A TPM 2.0 device encodes the operation response in 12 bits. The minimum platform storage required to implement
the information exchange between the OS and the firmware for this Interface and for TPM 2.0 is as follows:

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 15© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

5 bits – Stores the pending operation request submitted by the OS.
5 bits – Stores the most recent operation request acted upon by the firmware.
8 bits – Stores the optional argument to operation request.
12 bits – Stores the most recent operation response acted upon by the firmware.
Conditional Physically Present User Confirmation:
Several Persistent Firmware TPM Management Flags control whether a physically present user must confirm eachphysical presence operation. Refer to Annex A for a description of different scenarios and recommended defaults forthe flags.
Persistent Firmware TPM Management Flag Storage
The Persistent Firmware TPM Management Flags control whether physical presence is required for TPM
management actions. By design physical presence is required to change the flags to not require physical presence
confirmation in the future. Care should be taken by Platform Manufacturers to prevent unintended modification of theflags. This can be achieved by storing the flags in trusted storage. For example, the flags should not be stored in NV
RAM locations able to be manipulated by malicious software.
One mechanism to protect the Persistent Firmware TPM Management Flags is to store the flags in the TPM’s NV
RAM. To prevent entities other than the firmware from modifying the flags, write permission for the index may be
configured to require physical presence for which the firmware controls assertion. For TPM 1.2 the “D” bit attributeshould be set so the values persist even if the TPM is cleared. This specification has reserved index 0x50010000 for
Platform Manufacturers if the TPM NV RAM used. The Platform Manufacturer should carefully provision appropriate
default values for the Persistent Firmware TPM Management Flags.
Persistent Firmware Storage Management Flag Storage
Similarly, to Persistent Firmware TPM Management Flags the Persistent Firmware Storage Management Flags should
be protected by the Platform Manufacturer to prevent unintended modification of the flags.
Transitioning to the pre-OS environment from the OS – Restart versus Shutdown
Platform manufacturers may require the OS to restart, shutdown, or perform some other vendor specific action for the
firmware to fulfill a requested operation during the next boot of the platform. However, to permit operations without
any physical presence when the Persistent Firmware TPM Management Flags are set to TRUE, using restart insteadof shutdown is necessary to permit remote management of a platform in absence of a physically present user to turnthe platform back on.
Additional Notes for TPM 1.2:
This Interface assumes that the firmware is able to execute the TSC_PhysicalPresence command to configure
physical presence assertion flags as well as the TPM commands that require physical presence authorization (e.g.,
TPM_PhysicalEnable).
For some TPM implementations, execution of these commands prior to issuing the TPM_ContinueSelfTest command
causes an error of TPM_NEEDS_SELFTEST or TPM_DOING_SELFTEST to be returned. In these cases, thefirmware should ensure that TPM_ContinueSelfTest is issued appropriately so that the self-test errors are notpropagated to the OS.
After the user confirms the physical presence operation, the firmware may need one or more additional reboot cycles
to carry out the user's request, as well as 1 bit of additional platform storage to track the extra boot cycle. The additional
reboot is needed when executing the command TPM_PhysicalSetDeactivated because the TPM requires anadditional boot cycle for an activation or deactivation to take effect (see main spec related to
TPM_PERMANENT_FLAGS.deactivated and TPM_STCLEAR_FLAGS.deactivated for more information). Additional
reboots may need to take place in the middle of some multi-command physical presence operations. TPM 1.2
operations that may need additional reboot cycle:
Operation 3:

Activate

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 16© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

Operation 4:

Deactivate

Operation 5:

Clear

Operation 6:

Enable + Activate

Operation 7:

Deactivate + Disable

Operation 10:

Enable + Activate + SetOwnerInstall_True

Operation 11:

SetOwnerInstall_False + Deactivate + Disable

Operation 12:

Deferred Physical Presence unownedFieldUpgrade

Operation 14:

Clear + Enable + Activate

Operation 21:

Enable + Activate + Clear

Operation 22:

Enable + Activate + Clear + Enable + Activate

When the firmware carries out operations that require an additional reboot cycle, the user should not be promptedagain for confirmation. When this occurs, the only indication to the user of the additional reboot cycle is thereappearance of the firmware splash screen. For the OS user, there is still only one restart.
Method for performing TPM 1.2 field upgrade without using physical presence:
A field upgrade of an un-owned TPM may be accomplished without physical presence by taking ownership andperforming the field upgrade. Therefore, the default for the NoPPIMaintenance flag is False.
Additional Notes for TPM 2.0:
The TPM 2.0 requires platform authorization for some of the TPM commands mentioned in this specification. This
interface assumes that the firmware has access to the platform authorization value when the requested TPM
commands are invoked.
After the user confirms the physical presence operation, the firmware may need one or more additional reboot cycles
to carry out the user's request, as well as 1 bit of additional platform storage to track the extra boot cycle. When thefirmware carries out operations that require an additional reboot cycle, the user should not be prompted again for
confirmation. When this occurs, the only indication to the user of the additional reboot cycle is the reappearance ofthe firmware splash screen. For the OS user, there is still only one restart.
Platform Implementation
This Interface is designed for platforms implementing the command method for indication of physical presence.
Platforms are allowed to implement hardware and command methods in which case the user may choose the one
most convenient. If a Platform Manufacturer provides a utility, the utility prompting the user to provide the indicationof physical presence should be aware of the method(s) implemented on the platform and prompt the user accordingly.
This information can be found by querying the capabilities of a TPM 1.2 (e.g., calling TPM_GetCapability and checking
the PhysicalPresenceHwEnable and PhysicalPresenceCMDEnable flags). For a TPM 2.0 device the
TPM2_GetCapability(TPM_CAP_PP_COMMANDS) command returns a list of commands currently requiringhardware method to assert physical presence.
Though this specification mentions the hardware method of asserting physical presence, it does not specify how an
OS would interact with the hardware method. For example, TPM 1.2 management actions such as changing fromdeactivated to activated (which requires a platform reset to occur) with an OS present are not specified. In the absenceof additional specifications, implementations using a hardware method may want to emulate the “command method”
of asserting physical presence to accommodate the same OS interface for TPM management.
ACPI Command Status:
The command status field within each command indicates whether the command is mandatory, optional or
deprecated.

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 17© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

Mandatory: If a platform implements version 1.10 or greater of this specification, it must implement the indicatedcommand.
Optional: If a platform implements version 1.10 or greater of this specification, it may implement the indicatedcommand.
Deprecated: This command may be removed from future versions of this specification. Software should not use
it. The command is still present in the specification to support older software.
Deprecated and Mandatory: This command may be removed from future versions of this specification. Software
should not use it. The command is still present in the specification to support older software. If a platform
implements version 1.10 or greater of the specification, it must implement the indicated command.
End of informative comment

4.1 ACPI Functions
1. If the Platform Manufacturer implements an interface between the OS and the pre-OS environment for
supporting the execution of TPM operations requiring physical presence, the firmware MUST support either
the ACPI Physical Presence Interface or the UEFI Physical Presence Interface as defined in thisspecification. Platform firmware MAY support both mechanisms.
2. These ACPI functions reside in the _DSM control method object. The following UUID function identifier
MUST be used exclusively for the Physical Presence Interface:

3DDDFAA6-361B-4eb4-A424-8D10089D1653.
3. Functions start at index 1 since function 0 is the standard _DSM query function.
Below is the list of ACPI Physical Presence functions that MUST be implemented:

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 18© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

4.1.1 Get Physical Presence Interface Version
Command Status:
Mandatory
Input Arguments:
Arg0 (Buffer):

UUID = 3DDDFAA6-361B-4eb4-A424-8D10089D1653

Arg1 (Integer):

Revision ID = 1

Arg2 (Integer):

Function Index = 1

Arg3 (Package):

Arguments = Empty Package

Returns:
Type: String
Purpose: Supported Physical Presence Interface revision
Functional Behavior:This function returns the version of the Physical Presence Interface supported by the platform.
For this version of this specification, the return value MUST be “1.3” as a NULL terminated ASCII string.
Note that the Physical Presence Interface revision number does not correspond with the Revision ID parameter(Arg1).
Start of informative comment
Examples:A return value of “1.0” indicates that the Interface is compatible with Physical Presence Interface specification v1.0.
A return value of “1.1” indicates that the Interface is compatible with Physical Presence Interface specification v1.1.
A return value of “1.2” indicates that the Interface is compatible with Physical Presence Interface specification v1.2.
A return value of “1.3” indicates that the Interface is compatible with Physical Presence Interface specification v1.3.
A return value of “1.4” indicates that the Interface is compatible with Physical Presence Interface specification v1.4.
End of informative comment

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 19© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

4.1.2 Submit TPM Operation Request to Pre-OS Environment
Command Status:
Deprecated and Mandatory
Input Arguments:
Arg0 (Buffer):

UUID = 3DDDFAA6-361B-4eb4-A424-8D10089D1653

Arg1 (Integer):

Revision ID = 1

Arg2 (Integer):

Function Index = 2

Arg3 (Package):

Arguments = Package -Type: Integer
Purpose: Operation Value of the Request
Description: [see Table 3 and Table 4]

Returns:
Type: Integer
Purpose: Function Return CodeDescription:
0: Success
1: Operation Value of the Request Not Supported
2: General Failure
Functional Behavior:This function allows the OS to submit a request for an operation to be executed in the pre-OS environment (seeTable 3 and Table 4 for a list of defined operations). This request is the only input from the OS to the pre-OS
environment.
If 0 is returned, the requested operation can be read and acted upon by the firmware once the transition to the
pre-OS environment takes place (e.g., after the platform has restarted). The OS expects that the pre-OS
environment verifies physical presence and confirms that the physically present user in fact requested theexecution of the operation.
If 1 is returned, the firmware does not support the operation request. For example, the implementation of theoperation may be optional or vendor specific.
If 2 is returned, the firmware is otherwise unable to read and act upon the request. For example, platformspecific security protections may exist to prevent burnout of the storage location for the operation.
The OS may call this function or “Submit TPM Operation Request to Pre-OS Environment 2” multiple times
before transitioning to the pre-OS environment. However, only the last submitted request is valid. The OS may
submit an operation request of value 0 to clear any previous requests.
Start of informative comment

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 20© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

Many as-built operating systems and hardware implementations have implemented the Submit TPM Operation
Request to Pre-OS Environment function differently than this specification with respect to the Arg3 argument. Due tothe large number of deployed systems in the marketplace it is recommended Platform Manufacturers and operating
system vendors consider compatibility with the following scenarios:
Some operating systems incorrectly pass a buffer of an Integer instead of a Package containing an Integer for Arg3.
The ACPI Machine Language Interpreter on those operating systems treats the Arg3 argument type as a buffer when
executing ACPI Machine Language instructions.
Some existing hardware platforms in the marketplace are dependent on this operating system mistake and explicitly
convert the buffer of an Integer to an Integer using the ACPI Machine Language operation ToInteger. Using ToInteger
would fail if the operating system actually passed a Package containing an Integer.
Other existing hardware platforms use the ACPI Machine Language Index operation. The original intent of these
hardware platforms using Index was probably to extract the Integer that should be the first element of the Package.
The result on operating systems that pass a buffer of an Integer is to extract the first byte of the Integer. Because
ACPI Integers are defined as little-endian unsigned values and the number of defined operations is less than 256, this
implementation works as expected.
Example: A submitted operation value of 6 and a return value of 0 indicates that the platform has successfully received
a request to enable and activate the TPM.
End of informative comment

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 21© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

4.1.3 Get Pending TPM Operation Requested By the OS
Command Status:
Mandatory
Input Arguments:
Arg0 (Buffer):

UUID = 3DDDFAA6-361B-4eb4-A424-8D10089D1653

Arg1 (Integer):

Revision ID = 2

Arg2 (Integer):

Function Index = 3

Arg3 (Package):

Arguments = Empty Package

Returns:
Type: Package
Integer 1:
Purpose: Function Return code
Description:
0: Success
1: General Failure
Integer 2:
Purpose: Pending operation requested by the OS
Description:
0: None>0: Operation Value of the Pending Request [see Table 3 and Table 4]Integer 3:
Purpose: Optional argument to pending operation requested by the OS
Description:
0: None>0: Argument Value of the Pending Request

Functional Behavior:This function returns the pending operation that was previously requested since the last host platform boot, if
any. This function is necessary to allow the OS to accurately determine platform state. One use case is toensure that a previously submitted operation request is not overwritten.
If 1 is returned as the first integer, the firmware is unable to return meaningful information due to an internal
failure. In this case, the second and third integers are undefined.

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 22© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

Assume in the following paragraphs that 0 is returned as the first integer.
If 0 is returned as the second integer, no pending operation exists. No previous request has been submitted.
If a value greater than 0 is returned as the second integer, a previously requested operation is pending (seeTable 3 and Table 4 below for a list of defined operations). This request will be read and acted upon by thefirmware once the transition to the pre-OS environment takes place.
If the function is invoked with a Revision ID of 1, no integer parameter beyond parameter two is expected in the
response.
Start of informative comment
Examples:A return value of {0, 0, 0} indicates that no operation is pending.
A return value of {1, 0, 0} indicates that the function failed to retrieve the pending operation. The meaning of thesecond Integer is undefined.
A return value of {0, 23, 1} indicates that operation 23 with argument 1 is pending.
End of informative comment

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 23© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

4.1.4 Get Platform-Specific Action to Transition to Pre-OS Environment
Command Status:
Mandatory
Input Arguments:
Arg0 (Buffer):

UUID = 3DDDFAA6-361B-4eb4-A424-8D10089D1653

Arg1 (Integer):

Revision ID = 1

Arg2 (Integer):

Function Index = 4

Arg3 (Package):

Arguments = Empty Package

Returns:
Type: Integer
Purpose: Action that the OS should take to transition to the pre-OS environment for execution of a requested
operation.
Description:
0: None1: Shutdown
2: Reboot
3: OS Vendor-specificFunctional Behavior:This function allows the OS to determine the platform-specific action that should take place in order to transition
to the firmware for execution of a requested operation. This function provides Platform Manufacturers theflexibility to vary how their platforms meet TCG’s physical presence requirements, while minimizing the impact ofthese platform changes on OS applications.
If 0 is returned, no action is required. This return value MUST NOT be used for platforms implementing thecommand method of asserting physical presence.
If 1 is returned, the OS MUST shut down the machine to execute a pending operation requested by the OS. A
physically present user restarts the machine.
If 2 is returned, the OS MUST cause a warm reboot of the machine to execute a pending operation requested by
the OS. This SHALL be used for platforms implementing the command method of physical presence.
If 3 is returned, an OS-specific action can take place. For example, instructions can be displayed for thephysically present user to consult platform documentation. The OS may specify additional requirements outsideof this specification to determine the exact behavior for this return value.

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 24© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

4.1.5 Return TPM Operation Response to OS Environment
Command Status:
Mandatory
Input Arguments:
Arg0 (Buffer):

UUID = 3DDDFAA6-361B-4eb4-A424-8D10089D1653

Arg1 (Integer):

Revision ID = 1

Arg2 (Integer):

Function Index = 5

Arg3 (Package):

Arguments = Empty Package

Returns:
Type: Package
Integer 1:
Purpose: Function Return CodeDescription:
0: Success
1: General Failure
Integer 2:
Purpose: Most recent operation request
Description:
0: None>0: Operation value of the most recent request[See Table 3 and Table 4]Integer 3:
Purpose: Response to the most recent operation request
Description:
0: Success
0x00000001..0x00000FFF: Corresponding TPM error code
0xFFFFFFF0: User Abort or timeout of dialog
0xFFFFFFF1: firmware Failure
Functional Behavior:This function allows the firmware to communicate the response to the most recent operation request it acted
upon. The function returns both the operation number and the outcome of the firmware attempt to perform theoperation.
TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 25© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

The OS is advised to query the TPM directly to determine whether a request was indeed fulfilled and to use thisfunction’s return values only for troubleshooting failures and auditing purposes. The reason is that for some
platforms, the return values may not be reliable. For example, if multiple OSs exist on the platform, the requestresponse values cannot be correlated to any particular OS. Furthermore, there is no guarantee that the correct
response is available to the OS that originated the request; another OS may submit a new request, overwriting
the response to the previous request.
Firmware should provide the same response for the whole boot cycle. For instance, if first the OS loader andlater the OS queries the result of the last operation, both should receive the same response.
If 1 is returned as the first integer, the firmware is unable to return meaningful information due to an internal
failure during this function call. In this case, the second and third integers are undefined.
Assume in the following paragraphs that 0 is returned as the first integer.
If 0 is returned as the second integer, no previously requested operations exist and hence no response exists. In
this case, the third integer is undefined.
If a value greater than 0 is returned as the second integer, that value is the most recent operation request seenby the firmware (see Table 3 and Table 4 below for a list of defined operations).
Assume in the following paragraphs that 0 is returned as the first integer and a value greater than 0 is returned
as the second integer. The definitions below refer to the response (i.e., the third integer) to the operation request(i.e., the second integer).
If 0 is returned as the response, then the requested operation was confirmed and successfully executed in the
pre-OS environment.
A response value from 0x00000001 to 0x00000FFF inclusive corresponds to the TPM error codes defined in
Chapter 16 of the “TPM 1.2 Main Specification – Part 2 TPM Structures” document or Chapter 6.6 of the “TPM
2.0 Library Specification – Part 2 TPM Structures.”
If 0xFFFFFFF0 is returned as the response, the user failed to confirm the operation request. This might be dueto the user rejecting the operation or the dialog timed out.
If 0xFFFFFFF1 is returned as the response, then a firmware failure prevented the successful execution of therequested operation (e.g., invalid operation request, firmware communication error with the TPM).
Start of informative comment
Examples:A return value of {1, 0, 0} indicates that a firmware internal failure prevented the function from retrieving meaningful
information. (This corresponds to a firmware error during this function call.)A return value of {0, 0, 0} indicates that no previously requested operation exists and hence no response exists.
A return value of {0, 6, 0} indicates that the last operation request to enable and activate the TPM succeeded.
A return value of {0, 6, 0xFFFFFFF0} indicates that the last operation request to enable and activate the TPM wasrejected by the physically present user in the pre-OS environment.
A return value of {0, 6, 0xFFFFFFF1} indicates that the last operation request to enable and activate the TPM failed
to execute successfully due to an internal firmware error. (This corresponds to a previous firmware error performing
the operation during the boot process.)
If the physical assertion through a pin is used, the refusal of physical presence assertion will manifest in a TPM error
code.

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 26© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

End of informative comment

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 27© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

4.1.6 Submit preferred user language
Command Status:
Deprecated and Mandatory
Input Arguments:
Arg0 (Buffer):

UUID = 3DDDFAA6-361B-4eb4-A424-8D10089D1653

Arg1 (Integer):

Revision ID = 1

Arg2 (Integer):

Function Index = 6

Arg3 (Package):

Arguments = Package --Type: String
Purpose: Preferred language code
Description:
Language code that begins with the 2-character ISO-639-1 format
See http://www.loc.gov/standards/iso639-2/php/English_list.php
Returns:
Type: Integer
Purpose: Function Return CodeDescription:
3: Not implemented.
Functional Behavior:
It is mandatory this function be implemented as part of the ACPI interface, but this function is deprecated and
MUST NOT perform any action. The function MUST return 3. (Refer to prior versions of this specification for
more information about past usage of this function.)

4.1.7 Submit TPM Operation Request to Pre-OS Environment 2
Command Status:
Mandatory
Input Arguments:
Arg0 (Buffer):

UUID = 3DDDFAA6-361B-4eb4-A424-8D10089D1653

Arg1 (Integer):

Revision ID = 2

Arg2 (Integer):

Function Index = 7

Arg3 (Package):

Arguments = Package --Integer 1:
Purpose: Operation Value of the Request

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 28© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

Description: [see Table 3 and Table 4]Integer 2:
Purpose: Argument for Operation (optional)
Description:
For TPM 2.0 devices and operation 23: A bitmap of hashing algorithms of the PCR banks to enable
in the TPM. See hashing algorithm bitmap definition in TCG Algorithm Registry for Family 2.0
revision 1.21.
Returns:
Type: Integer
Purpose: Function Return CodeDescription:
0: Success
1: Not Implemented.
2: General Failure
3: Operation blocked by current firmware settings.
Functional Behavior:This function allows the OS to submit a request for an operation to be executed in the pre-OS environment (seeTable 3 and Table 4 for a list of defined operations). This request is the only input from the OS to the pre-OS
environment.
If 0 is returned, the requested operation can be read and acted upon by the firmware once the transition to the
pre-OS environment takes place (e.g., after the platform has restarted). The OS expects that the pre-OS
environment verifies physical presence and confirms that the physically present user in fact requested theexecution of the operation.
If 1 is returned, the firmware does not support the OS requesting the operation because it is not implemented
and is never able to be requested by the OS regardless of firmware settings. For example, the implementationof the operation may be optional, reserved, “No operation”, or vendor-specific (e.g., implemented as an actionthat may only be performed using a Platform Manufacturer utility).
If 2 is returned, the firmware is otherwise unable to read and act upon the request. For example, platform
specific security protections may exist to prevent burnout of the storage location for the operation.
If 3 is returned, the current firmware settings prohibit this action, but the platform may permit the operation if theplatform owner configures the firmware settings differently.
The OS may call this function or “Submit TPM Operation Request to Pre-OS Environment” multiple times before
transitioning to the pre-OS environment. However, only the last submitted request is valid. The OS may submit
an operation request of value 0 to clear any previous requests.
If the OS calls this function with operation requests that do not match the version of the present TPM, theoperation number MUST be remembered, the result MUST return success (return value 0), but no commands
are sent to the TPM.
TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 29© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

Start of informative comment
Examples:A submitted operation value of 6 (Enable + Activate) and a return value of 0 indicate the platform has successfullyreceived a request to enable and activate the TPM.
A submitted operation value of 18 (SetNoPPIClear_True) and a return value of 1 indicate the Platform Manufacturer
did not implement the Persistent Firmware TPM Management Flag named NoPPIClear and did not implement thecorresponding operation to set the value.
A submitted operation value of 5 (Clear) and a return value 3 indicates a current firmware setting currently blocks the
OS from requesting to clear the TPM. However, a firmware administrator may configure the firmware settings topermit the OS to request to clear the TPM in the future.
End of informative comment

4.1.8 Get User Confirmation Status for Operation
Command Status:
Mandatory
Input Arguments:
Arg0 (Buffer):

UUID = 3DDDFAA6-361B-4eb4-A424-8D10089D1653

Arg1 (Integer):

Revision ID = 1

Arg2 (Integer):

Function Index = 8

Arg3 (Package):

Arguments = Package --Type: Integer
Purpose: Operation Value that may need user confirmation
Description: [see Table 3 and Table 4]
Returns:
Type: Integer
Purpose: Function Return CodeDescription:
0: Not implemented.
1: Firmware only.
2: Blocked for OS by firmware configuration.
3: Allowed and physically present user required.
4: Allowed and physically present user not required.
Functional Behavior:This function allows the OS to determine whether it is allowed to request an operation to be executed in the preOS environment (see Table 3 and Table 4 for a list of defined operations) by the firmware. If the OS is not

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 30© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

allowed by the firmware to perform the operation, the function returns whether the firmware administrator may
reconfigure the firmware to allow the OS to request the operation.
If the firmware permits the OS to request an operation, this function allows the OS to determine whether arequest would require confirmation from a physically present user or would be performed automatically becauseof the current settings for the Persistent Firmware TPM Management flags.
This function does not cause the operation to be requested.
Start of informative comment
It is preferable for an OS to use this function to determine if an operation is supported instead of using “Submit
TPM Operation Request to Pre-OS Environment 2” because this function does not write to NVRAM.
End of informative comment
If 0 is returned, the firmware does not support this operation because it is not implemented. An example is if the
Platform Manufacturer did not support the NoPPIClear flag and the OS queried for the operation
SetNoPPIClear_True.
Start of informative comment
For an implementation of version 1.2 or later of this interface, a return value of 0 means the operation value passed
in Arg3 is not implemented. If an earlier version of this specification is implemented, a return value of 0 means
this method is not implemented.
End of informative comment
If 1 is returned, the firmware unconditionally does not permit the OS to request this action, but a firmware
administrator may perform the equivalent action through a vendor specific mechanism like a firmware
configuration utility.
If 2 is returned, the current firmware settings do not permit the OS to request this operation, but a firmware
administrator may change the setting through a vendor specific mechanism like a firmware configuration utility toallow the OS to request the operation.
If 3 is returned, the firmware currently permits the OS to request this action and the operation would requirephysically present user approval.
If 4 is returned, the firmware currently permits the OS to request this action and the current firmware settings
permit execution of the operation without a physically present user approving the operation.
Start of informative comment
To implement this function, the firmware may need to copy the persistent settings for the Persistent Firmware TPM
Management Flags or Persistent Firmware Storage Management Flags when accessible during boot as the settings
influence the return values for this function. The logic of this function will also need to implement the logic in the“When Physical Presence Confirmation is Required” column of Table 3 and Table 4.
Examples:A submitted operation value of 18 (NoPPIClear_True) and a return value of 0 indicate the Platform Manufacturer did
not implement the Persistent firmware TPM Management Flag named NoPPIClear and did not implement thecorresponding operation to set the value.
A submitted operation value of 12 and a return value of 0 indicate the platform does not support Deferred PhysicalPresence for unowned field upgrade.

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 31© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

A submitted operation value of 5 and a return value of 2 indicate the firmware is currently configured to not allow an
OS to request to clear the TPM using physical presence, but a firmware administrator may modify the firmware
configuration using a vendor specific firmware configuration utility to permit the OS to request the operation.
A submitted operation value of 5 and a return value of 3 indicate the firmware is currently configured to allow an OS
to request to clear the TPM, but the NoPPIClear flag is not implemented or has a value of FALSE so a physicallypresent user would need to approve the operation.
A submitted operation value of 14 and a return value of 4 indicate the firmware is currently configured to allow an OS
to request to clear, enable and activate the TPM, the NoPPIClear flag is set to TRUE, and the NoPPIProvision flag is
set to TRUE, so a physically present user is not needed to approve the operation.
End of informative comment

4.2 Parameter passing
Start of informative comment
With the exception of operation 13 defined in Table 3, all parameters between the OS and the firmware are passed
using the standard ACPI defined parameter passing method. The values passed for operations, except 13, are small
and are easily accommodated by the 4 arguments. However, operation 13 requires the passing of an additional valueof a relatively large size: 20 bytes. As it is not possible to add another parameter, the method for passing this value
from the OS to the firmware is not defined in this version of the specification. A later version of this specification may
address, define and standardize the method for passing this value. Until then, any suitable method that is in agreement
between the OS and firmware is permitted.
End of informative comment
1. The method for passing the operator authentication value from the OS to the firmware is to be determinedby convention between the OS and the firmware. Standardization and definition of the method will be
addressed in a later revision of this specification.

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 32© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

5 UEFI Physical Presence Interface
Start of informative comment
Similarly to the ACPI PPI, the UEFI PPI is used by the OS to request a TPM operation that requires platform
authorization from the platform firmware.
Since PPI requests can be used to clear the TPM, the OS should take precautions to prevent unauthorized access to
the UEFI PPI variables described in this Section.
End of informative comment
1. If the Platform Manufacturer implements an interface between the OS and the pre-OS environment for
supporting the execution of TPM operations requiring physical presence, the firmware MUST support either
the ACPI Physical Presence Interface or the UEFI Physical Presence Interface as defined in thisspecification. Platform firmware MAY support both mechanisms.
2. The PPI operation requests for the UEFI PPI are communicated through a UEFI variable named“Tcg2PhysicalPresence” under the following GUID:#define EFI_TCG2_PHYSICAL_PRESENCE_DATA_GUID \{ 0xaeb9c5c1, 0x94f1, 0x4d02, 0xbf, 0xd9, 0x46, 0x2, 0xdb, 0x2d, 0x3c, 0x54 }3. The PPI configuration can be read from the UEFI variable named “Tcg2PhysicalPresenceConfig” under thesame GUID.
4. The PPI set operation flags can be read from the UEFI variable named “Tcg2PhysicalPresenceFlags” under
the same GUID.

5.1 UEFI request variable
The UEFI request variable “Tcg2PhysicalPresence” is used to communicate the request from the OS to platform
firmware as well as the response from platform firmware to the OS.
Start of informative comment
Functionally, use of the UEFI request variable is equivalent to the ACPI function 7 (Submit TPM Operation Request
to Pre-OS Environment 2) and function 5 (Return TPM Operation Response to OS Environment). Since the UEFI
variables can be read at any time, the UEFI request variable also provides the functionality of ACPI function 3 (Get
Pending TPM Operation Requested by the OS).
End of informative comment
The data in the UEFI request variable SHALL be formatted as the following data structure. The data structure
contains the request for the next boot. The data structure also contains the response from the last request. This data
structure SHALL be densely packed.
typedef struct {UINT8PPRequest;///< Physical Presence request command.

UINT32

PPRequestParameter; ///< Physical Presence request Parameter.

UINT8

LastPPRequest;

UINT32

LastPPResponse;} EFI_TCG2_PHYSICAL_PRESENCE;
where PPRequest can take any of the operation values defined in Section 6. The PPRequestParameter field is onlyused with operation 23. The field LastPPRequest contains the requested operation from the last reboot or zero if
there was none. The field PPResponse contains the response code for the last requested operation or zero if there
was no request. See Section 4.1.5 for valid values.
TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 33© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

The EFI attributes of the UEFI request variable SHALL be:
EFI_VARIABLE_NON_VOLATILE |EFI_VARIABLE_BOOTSERVICE_ACCESS |EFI_VARIABLE_RUNTIME_ACCESS

5.2 UEFI flag variable
The UEFI variable “Tcg2PhysicalPresenceFlags” indicates the currently set operation flags used by platform
firmware to determine whether a physical presence confirmation is required for specific operations. The UEFI flag
variable SHALL be 4 bytes in size and read only.
The EFI attributes of the UEFI flag variable SHALL be:
EFI_VARIABLE_NON_VOLATILE |EFI_VARIABLE_BOOTSERVICE_ACCESS |EFI_VARIABLE_RUNTIME_ACCESS
The data in the UEFI flag variable SHALL be a bitfield containing the bits define in Table 1.
Table 1: UEFI Flag Variable Bit field assignment
Bit

Name

0

Reserved

Description

1
2..3
4

PPRequiredForClear
Reserved
PPRequiredForTurnOn

SET if physical presence is required to clear TPM

5

PPRequiredForTurnOff

SET if physical presence is required to turn off TPM

6

PPRequiredForChangeEPS

SET if physical presence is required to change EPS

7

PPRequiredForChangePCRs

SET if physical presence is required to change PCR allocation

8..9

Reserved

16

PPRequiredForEnableBlockSID

SET if physical presence is required to enable Block SID

17

PPRequiredForDisableBlockSID

SET if physical presence is required to disable Block SID

18

EnableBlockSID

SET to enable Block SID. Clear to disable Block SID.

SET if physical presence is required to turn on TPM

Bits that are not specified in Table 1 are not defined. All reserved bits have meanings that are outside the scope of
this specification and dependent on the implementation of the platform firmware.
Operations defined in Table 3 can be used to change the values of the bits defined in Table 1.

5.3 UEFI config variable
The UEFI variable “Tcg2PhysicalPresenceConfig” is used to communicate read-only information from the firmware
to the operating system.
The EFI attributes of the UEFI config variable SHALL be:
EFI_VARIABLE_NON_VOLATILE |EFI_VARIABLE_BOOTSERVICE_ACCESS |EFI_VARIABLE_RUNTIME_ACCESS
The data in the UEFI config variable SHALL be formatted as the following data structure. This data structure SHALL
be densely packed.

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 34© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

typedef struct {UINT32

StructVersion; ///< 1 for version 1.4 of this specification

UINT32

PPICapabilities;

CHAR8

PPIVersion[8]; ///< NUL terminated ASCII string

UINT32

TransitionAction;

UINT8

UserConfirmation[64];} EFI_TCG2_PHYSICAL_PRESENCE_CONFIG;
The fields of the config variable structure are defined as follows:
Field StructVersion: defines the version of the config variable structure.
Field PPICapabilities: defines a bitmap where each set bit indicates that the corresponding function of the PP
interface is implemented. Function 0 corresponds to bit 0.
Field PPIVersion: a NUL terminated ASCII string that contains the version of the implemented interface. For thisversion of the specification, the PPIVersion field will contain “1.4”.
Field TransitionAction: defines the action the OS must take to transition into the pre-OS environment. The value of
the TransitionAction field is one of the return values returned by function 4 of the ACPI interface.
Field UserConfirmation: defines which PPI operation requires which kind of user confirmation. The total size of the
UserConfirmation field is 64 bytes. The ACPI interface needs 4 bits to encode the user confirmation value. Insteadof having a separate field in the config variable data structure for each operation, the values are concatenated into
one field. Each operation has 4 bits that define the confirmation type. Each operation’s 4 bits are located at offset i*4
to i*4+3 where i is the operation index. For instance, for operation 0, bits 0 to 3 identify the user confirmation
behavior. For operation 21, bits 84 to 87 identify the user confirmation behavior.
Each operation’s 4 bits create a value that matches the value returned by operation 8 of the ACPI interface (seeSection 4.1.8).

5.4 Mapping of ACPI Functions to UEFI variables
Table 2 shows how the UEFI variables are used to mirror the behavior of the ACPI functions (see Section 4.1).

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 35© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

Table 2: Mapping of ACPI functions to UEFI variables

ACPI
function indexACPI function
name

UEFI equivalent to ACPI function

0

Query

The EFI_TCG2_PHYSICAL_PRESENCE_CONFIG.PPICapabilities
field defines which functions of the UEFI interface are implemented. The
EFI_TCG2_PHYSICAL_PRESENCE_CONFIG.PPICapabilities field isa bitmap.
ACPI Function 0 (Query) maps to the least significant bit (bit 0) of the
EFI_TCG2_PHYSICAL_PRESENCE_CONFIG.PPICapabilities field.
ACPI Function 1 (Get Physical Presence Interface Version) maps to thenext significant bit (bit 1) of the
EFI_TCG2_PHYSICAL_PRESENCE_CONFIG.PPICapabilities field.
And so forth.
For version 1.4 of this specification, this field is the value 0x000001BF if all
ACPI functions, except ACPI function 6, are implemented.

1

Get PhysicalPresence Interface
Version

The EFI_TCG2_PHYSICAL_PRESENCE_CONFIG.PPIVersion fieldcontains the NUL terminated ASCII string that describes the version of the
PPI specification that is implemented by the UEFI interface.
For this version of this specification the value of this field is “1.4”.

2

Submit TPM
Operation Request
to Pre-OS
Environment

To submit a PPI request, two fields of the
EFI_TCG2_PHYSICAL_PRESENCE variable need to be set. The field
EFI_TCG2_PHYSICAL_PRESENCE.PPRequest receives the value of therequested operation. The field
EFI_TCG2_PHYSICAL_PRESENCE.PPRequestParameter receives thevalue of the parameter for the requested operation.

3

Get Pending TPM
Operation
Requested by theOS

To query which PPI operation has been requested, the
EFI_TCG2_PHYSICAL_PRESENCE variable can be read. The
EFI_TCG2_PHYSICAL_PRESENCE.PPRequest field contains therequested operation and the
EFI_TCG2_PHYSICAL_PRESENCE.PPRequestParameter contains theparameter for the requested operation.

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 36© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

ACPI
function indexACPI function
name

UEFI equivalent to ACPI function

4

Get PlatformSpecific Action toTransition to PreOS Environment

The EFI_TCG2_PHYSICAL_PRESENCE_CONFIG.TransitionAction
field contains the action that the OS must take to transition into a Pre-OS
environment.
The field contains one of the following values:
0x00000000 – None
0x00000001 – Shutdown
0x00000002 – Reboot
0x00000003 – OS specific
Other values are reserved by TCG.

5

Return TPM
Operation
Response to OS
Environment

To query the response to a PPI operation that has been requested during
the previous boot cycle, the variable can be read. The
EFI_TCG2_PHYSICAL_PRESENCE.LastPPRequest field contains therequested operation. The
EFI_TCG2_PHYSICAL_PRESENCE.LastPPResponse contains the
response code to the operation. See Section 4.1.5 for possible values.

6

Submit preferreduser language

SHALL NOT be implemented.
Start of informative comment
Note: Neither the ACPI nor the UEFI interface support user language query. ACPI
function 6 has been deprecated.
End of informative comment

7

Submit TPM
Operation Request
to Pre-OS
Environment 2

To submit a PPI request, two fields of the
EFI_TCG2_PHYSICAL_PRESENCE variable need to be set. The field
EFI_TCG2_PHYSICAL_PRESENCE.PPRequest receives the value of therequested operation. The field
EFI_TCG2_PHYSICAL_PRESENCE.PPRequestParameter receives thevalue of the parameter for the requested operation.

8

Get User
Confirmation Status
for Operation

The EFI_TCG2_PHYSICAL_PRESENCE_CONFIG.UserConfirmation
field contains a bitmap where each operation has its status encoded by 4
bits.
For each of the 4 bits the allowed values are defined in Section 4.1.8.
Other values are reserved by TCG.

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 37© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

6 Operation Definitions
Start of informative comment
Table 3 and Table 4 contain a list of the defined PPI operations for TPM 1.2 and TPM 2.0 respectively. There are
optional and mandatory PPI operations and the following normative describes relations between different optional PPI
operations.
Table 5 holds the definition of what ordered actions are performed by the firmware to complete each of the operations
defined in this specification. The firmware may send commands to the TPM, perform platform resets and/or change
Persistent Firmware TPM Management Flags or Persistent Firmware Storage Management Flags. The operations
defined in Table 5 could have been added to Table 3 and Table 4 respectively but have been separated to maintainreadability.

If a platform implements the hardware method of asserting physical presence, the utility which prompts the user toindicate physical presence should display the same confirmation dialogs (see Table 7) and perform the same actions
for each operation (see Table 5) for consistency with this specification. On server systems physical presence may beasserted using the hardware method only.
Notes for operations 23:
For systems with TPM 2.0 that implement operations 23 it may not be necessary to invoke the TPM operation
TPM2_PCR_Allocate when switching PCR banks. When using the crypto agile format for TCG log, the BIOS may
keep only one boot log independent of the selected PCR bank or banks.
Warning:Changes to the currently active PCR banks will affect TPM objects bound to PCRs. It is recommended to allow removalof PCR banks from the list of active PCR banks only when the PCR banks are not used by users or applications
outside the direct control of the OS. If that is not possible, the OS should appropriately inform the user about
consequences of changing the PCR bank before requesting the operation.
End of informative comment
1. In order to persist the OS requested operation to the next boot cycle, the firmware MUST allocate a location
for storing the operation’s corresponding value.
2. The operation value of 0 is reserved to indicate that no Physical Presence Interface operation has beenrequested.
3. Firmware MUST implement all operations marked as mandatory in the respective operations summary table.
4. Operations with values at or above 128 (0x80) are designated for vendor-specific usage.
5. For each operation implemented by the firmware, the firmware MUST perform the TPM commands listed in
the third column of Table 5 in the order listed.
Start of informative comment
A reboot is required for some changes to take effect. This is noted with the keyword: <PLATFORM RESET>.
End of informative comment
6. On systems with TPM 1.2, for operations 5 and 14 the platform manufacturer MAY perform the TPM
commands Enable and Activate before performing the TPM_ForceClear operation.
7. On systems with TPM 2.0, for operation 5 the platform manufacturer MAY perform the TPM Enable actions
before performing the TPM2_Clear operation.
8. The firmware is responsible for tracking and performing operations that require a PLATFORM RESET.
9. The location for tracking the pending PPI operation, including the tracking of necessary PLATFORM RESET
operations, does not need to be a secure or trusted location.

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 38© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

10. If during an operation that requires a PLATFORM RESET, the firmware stores the assertion of an indicationof physical presence across the PLATFORM RESET, that location MUST be trusted.
11. On systems with a TPM 1.2, if the firmware implements operations 15 and 16, the firmware MUST provide
persistent storage for the NoPPIProvision flag.
12. On systems with a TPM 1.2, if the firmware implements operations 17 and 18, the firmware MUST provide
persistent storage for the NoPPIClear flag.
13. On systems with a TPM 1.2, if the firmware implements operations 19 and 20, firmware MUST provide
persistent storage for the NoPPIMaintenance flag.
14. On systems with a TPM 2.0, if the firmware implements operations 17 and 18, the firmware MUST provide
persistent storage for the PPRequiredForClear flag.
15. On systems with TPM 2.0, firmware MUST NOT implement operation 27, 28, 29, and 30 if operation 1, 2,
and 34 are not implemented.
16. On systems with TPM 2.0, if firmware implements operations 27, 28, 29, and 30, it MUST provide persistentstorage for the PPRequiredForTurnOn and PPRequiredForTurnOff flags.
17. On systems with TPM 2.0, firmware MUST NOT implement operations 25 and 26 if operation 23 is not
implemented.
18. On systems with TPM 2.0, if the firmware implements operations 25 and 26, it MUST provide persistentstorage for the PPRequiredForChangePCRs flag.
19. On systems with TPM 2.0, firmware MUST only implement operation 23 if the TPM supports multiple PCRbanks, i.e. implements operation TPM2_PCR_Allocate().
20. On systems with TPM 2.0, firmware MUST NOT implement operations 31 and 32 if operation 24 is not
implemented.
21. On systems with TPM 2.0, if firmware implements operations 31 and 32, it MUST provide persistent storage
for the PPRequiredForChangeEPS flag.
22. On systems with TPM 2.0, firmware MUST only implement operation 24 if the TPM implements operation
TPM2_ChangeEPS().
23. On systems with TPM 2.0, firmware MAY implement operation 33 if the TPM supports multiple PCR banks,i.e. implements operation TPM2_PCR_Allocate().
24. If an operation in Table 3 or Table 4 is marked as optional with O1 or similar, all operations within that group
have to be implemented. For instance, operations 1, 2, and 34 from Table 4 have to be implemented
together.
25. On systems with TPM 2.0, if firmware implements operations 96 and 97, it MUST provide persistent storage
for the PPRequiredForEnable_BlockSIDFunc and PPRequiredForDisable_BlockSIDFunc flags.

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 39© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

Operation
Value

What the operation may
changeOperation
Name

0

No Operation

1

EnableTPM
State

PersistentFirmware TPM
Management
Flags

Mandatory or
Optional

Table 3: Physical Presence Interface Operation Summary for TPM 1.2

When
PhysicalPresence
ConfirmationisRequiredMay
needadditionalboot cycle

M
X

M

NoPPIProvision is
FALSE

2

DisableX

M

NoPPIProvision is
FALSE

3

Activate

X

M

NoPPIProvision is

X

FALSE
4

Deactivate

X

M

NoPPIProvision is

X

FALSE
5

Clear

X

M

NoPPIClear is FALSE

X

6

Enable + Activate

X

M

NoPPIProvision is

X

FALSE
7

Deactivate + Disable

X

M

NoPPIProvision is

X

FALSE
8

SetOwnerInstall_True

X

M

NoPPIProvision is
FALSE

9

SetOwnerInstall_False

X

M

NoPPIProvision is
FALSE

10

Enable + Activate +SetOwnerInstall_True

X

SetOwnerInstall_False +Deactivate + Disable

X

12

Deferred Physical PresenceunownedFieldUpgrade

XO

NoPPIMaintenance is
FALSE

13

SetOperatorAuthXO

NoPPIProvision is11

M

NoPPIProvision is

X

FALSE
M

NoPPIProvision is

X

FALSE
X

FALSE
14

Clear + Enable + Activate

X

M

NoPPIClear is FALSEORXNoPPIProvision is
FALSE
15

SetNoPPIProvision_False

X

M

16

SetNoPPIProvision_True

X

M

17

SetNoPPIClear_False

X

O1

18

SetNoPPIClear_True

X

O1

19

SetNoPPIMaintenance_False

X

O2

20

SetNoPPIMaintenance_True

X

O2

Always21

Enable + Activate + Clear

M

NoPPIClear is FALSE

X

Always

AlwaysTCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 40

X© TCG 2022

Operation
Value

What the operation may
changeOperation
Name

22

Enable + Activate + Clear +Enable + Activate

TPM
State

PersistentFirmware TPM
Management
Flags

X

Mandatory or
Optional

TCG PC Client Platform Physical Presence Interface Specification

M

When
PhysicalPresence
ConfirmationisRequiredMay
needadditionalboot cycle

NoPPIClear is FALSEORXNoPPIProvision is
FALSE
23 –
127

Reserved>=128Vendor Specific

X

X

O

X

May
need
addition
al boot
cycle

Operation
Value

What the operation may
changeMandatory or
Optional

Table 4: Physical Presence Interface Operation Summary for TPM 2.0

Operation
Name

0

No Operation

1

EnableX

O1

PPRequiredForTurnOn is
TRUE

2DisableX

O1

PPRequiredForTurnOff is
TRUE

3, 4

Reserved

5

Clear

X

M

PPRequiredForClear is TRUE

X

X

M

PPRequiredForClear is TRUEOR
PPRequiredForTurnOn isTRUE

X

6 – 1314

15, 16TPM
State

PersistentFirmware TPM
Management
Flags

When Physical Presence
Confirmation is Required

M

Reserved
Enable + Clear

Reserved

17

SetPPRequiredForClear_True

X

O2

18

SetPPRequiredForClear_False

X

O2

Always19, 20Reserved

21

Enable + Clear

X

M

PPRequiredForClear is TRUEOR
PPRequiredForTurnOn is
TRUE

X

22

Enable + Clear

X

M

PPRequiredForClear is TRUEOR
PPRequiredForTurnOn isTRUE

X

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 41© TCG 2022

Operation
Value

What the operation may
changeMandatory or
Optional

TCG PC Client Platform Physical Presence Interface Specification

Operation
Name

23

SetPCRBanksXO

PPRequiredForChangePCRs
is TRUE24

ChangeEPSXO

PPRequiredForChangeEPS
is TRUE

25

SetPPRequiredForChangePCRs_F
alse

X

O3

Always

26

SetPPRequiredForChangePCRs_T
rue

X

O3

27

SetPPRequiredForTurnOn_False

X

O4

28

SetPPRequiredForTurnOn_True

X

O4

29

SetPPRequiredForTurnOff_False

X

O5

30

SetPPRequiredForTurnOff_True

X

O5

31

SetPPRequiredForChangeEPS_Fa
lse

X

O6

32

SetPPRequiredForChangeEPS_Tr
ue

X

O6

33

LogAllDigests

34

DisableEndorsementEnableStorageHierarchy

35 –
95

Reserved (for TPM management)

96

TPM
State

PersistentFirmware TPM
Management
Flags

When Physical Presence
Confirmation is Required

X

Always

Always

Always

O
X

May
need
addition
al boot
cycle

X

O1

PPRequiredForTurnOn is
TRUE
OR
PPRequiredForTurnOff is
TRUE

Enable_BlockSIDFunc

O7

PPRequiredForEnable_Block
SIDFunc is TRUE

X

97

Disable_BlockSIDFunc

O7

PPRequiredForDisable_Block
SIDFunc is TRUE

X

98

SetPPRequiredForEnable_BlockSI
DFunc_True

O8

99

SetPPRequiredForEnable_BlockSI
DFunc_False

O8

100

SetPPRequiredForDisable_BlockSI
DFunc_True

O9

101

SetPPRequiredForDisable_BlockSI
DFunc_False

O9

102 –
127

Reserved (for Storage
management)>=
128

Vendor Specific

X

X

Always

AlwaysO

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 42

X© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

Table 5: Definition of Operation Actions
Operation
Value

Operation
Name

TPM commands sent by firmware and otherfirmware actions to perform the operation0

No Operation

No operation

1

EnableFor TPM 1.2:
TPM_PhysicalEnable
For TPM 2.0:
Firmware stores information that storage andendorsement hierarchy are enabled on eachboot.
TPM2_HierarchyControl() after TPM2_Startup()2

DisableFor TPM 1.2:
TPM_PhysicalDisable
For TPM 2.0:
Firmware stores information that disables storageand endorsement hierarchy on each boot.
TPM2_HierarchyControl() after TPM2_Startup()

3

Activate

TPM_PhysicalSetDeactivated = FALSE<PLATFORM RESET>

4Deactivate

TPM_PhysicalSetDeactivated = TRUE
<PLATFORM RESET>

5

Clear

For TPM 1.2:
TPM_ForceClear<PLATFORM RESET>For TPM 2.0:
TPM2_ClearControl(NO)TPM2_Clear

6

Enable + Activate

TPM_PhysicalEnable
TPM_PhysicalSetDeactivated = FALSE<PLATFORM RESET>

7

Deactivate + Disable

TPM_PhysicalSetDeactivated = TRUE
TPM_PhysicalDisable<PLATFORM RESET>

8

SetOwnerInstall_True

TPM_SetOwnerInstall = TRUE

9

SetOwnerInstall_False

TPM_SetOwnerInstall = FALSE

10Enable + Activate + SetOwnerInstall_True

TPM_PhysicalEnable
TPM_PhysicalSetDeactivated = FALSE<PLATFORM RESET>TPM_SetOwnerInstall = TRUE

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 43© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

Operation
Value

Operation
Name

11

SetOwnerInstall_False + Deactivate + Disable

TPM commands sent by firmware and otherfirmware actions to perform the operation
TPM_SetOwnerInstall = FALSE
TPM_PhysicalSetDeactivated = TRUE
TPM_PhysicalDisable<PLATFORM RESET>
Start of informative comment
Note: The firmware may perform the PLATFORM
RESET
immediately
after
the
TPM_PhysicalSetDeactivated = TRUE but that
requires tracking the next command.
End of informative comment

12

Deferred Physical PresenceunownedFieldUpgrade

TPM_SetCapability -> setValue (Cap=TPM_SET_STCLEAR_FLAGS; SubCap=
TPM_SD_DEFERREDPHYSICALPRESENCE;
value= unownedFieldUpgradeStart of informative comment
Implementation note: The firmware calls theabove SetCapability while the operator isasserting Physical Presence. Rather than acommand to perform a specific function, thisfunction sets an attribute within the TPM indicatingthat the Operator has asserted Physical Presence
to authorize the TPM_FieldUpgrade function.
End of informative comment

13

SetOperatorAuth

TPM_SetOperatorAuth, with operatorAuth
prompted by the firmware

14

Clear + Enable + Activate

For TPM 1.2:
TPM_ForceClear
TPM_PhysicalEnable
TPM_PhysicalSetDeactivated = FALSE<PLATFORM RESET>For TPM 2.0:
TPM2_ClearControl(NO)TPM2_Clear

15

16

17

SetNoPPIProvision _False(Require physical presence confirmation forprovisioning.)

This operation does not change TPM state.

SetNoPPIProvision _True(Do not require physical presence confirmation
for provisioning.)

This operation does not change TPM state.

SetPPRequiredForClear_True
SetNoPPIClear_False(Require physical presence for clear.)This operation does not change TPM state.

Clears the Persistent Firmware TPM
Management Flag NoPPIProvision to FALSE.

Sets the Persistent Firmware TPM Management
Flag NoPPIProvision to TRUE.

Sets the Persistent Firmware TPM Management
Flag PPRequiredForClear to TRUE or Clears
NoPPIClear to FALSE.

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 44© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

Operation
Value
18

19

20

21

Operation
Name
SetPPRequiredForClear_False
SetNoPPIClear_True

TPM commands sent by firmware and otherfirmware actions to perform the operation
This operation does not change TPM state.

(Do not require physical presence confirmation
for clear.)

Clears the Persistent Firmware TPM
Management Flag PPRequiredForClear to
FALSE or Sets NoPPIClear to TRUE.

SetNoPPIMaintenance_False

This operation does not change TPM state.

(Require physical presence confirmation formaintenance.)

Clears the Persistent Firmware TPM
Management Flag NoPPIMaintenance to FALSE.

SetNoPPIMaintenance_True

This operation does not change TPM state.

(Do not require physical presence confirmation
for maintenance.)

Sets the Persistent Firmware TPM Management
Flag NoPPIMaintenance to TRUE.

Enable + Activate + Clear

For TPM 1.2:
If the TPM is disabled, then perform
TPM_PhysicalEnable OR unconditionally perform
TPM_PhysicalEnable
If the TPM is deactivated, then perform
TPM_PhysicalSetDeactivated = FALSE &<PLATFORM RESET> OR unconditionallyperform TPM_PhysicalSetDeactivated = FALSE& <PLATFORM RESET>TPM_ForceClear<PLATFORM RESET>For TPM 2.0:
TPM2_ClearControl(NO)TPM2_Clear

22

Enable + Activate + Clear + Enable + Activate

For TPM 1.2:
If the TPM is disabled, then perform
TPM_PhysicalEnable OR unconditionally perform
TPM_PhysicalEnable
If the TPM is deactivated, then perform
TPM_PhysicalSetDeactivated = FALSE &<PLATFORM RESET> OR unconditionallyperform TPM_PhysicalSetDeactivated = FALSE& <PLATFORM RESET>TPM_ForceClear
TPM_PhysicalEnable
TPM_PhysicalSetDeactivated = FALSE<PLATFORM RESET>For TPM 2.0:
TPM2_ClearControl(NO)TPM2_Clear

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 45© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

Operation
Value
23

Operation
Name
SetPCRBanks

TPM commands sent by firmware and otherfirmware actions to perform the operation
The bitmap of hashing algorithms for theoperation is extracted as extra parameter fromthe passed package.
Firmware should check that all requested (set)hashing algorithms are supported with respective
PCR banks. If not, an error is returned, and noaction is taken. If all hashing algorithms aresupported, the list of active PCR banks is
updated to match the requested algorithms. If achange of the PCR banks is required, firmware
then executes:
TPM2_PCR_Allocate(active algorithm IDs)
<PLATFORM RESET>
Firmware MUST create TCG logs for all active
hashing algorithms after <PLATFORM RESET>.
Firmware has to ensure that at least one PCRbanks is active.

24

ChangeEPS

TPM2_ChangeEPS<PLATFORM RESET>

25

SetPPRequiredForChangePCRs_False

This operation does not change TPM state.
Clears the Persistent Firmware TPM
Management Flag PPRequiredForChangePCRs
to FALSE.

26

SetPPRequiredForChangePCRs_True

This operation does not change TPM state.
Sets the Persistent Firmware TPM Management
Flag PPRequiredForChangePCRs to TRUE.

27

SetPPRequiredForTurnOn_False

This operation does not change TPM state.
Clears the Persistent Firmware TPM
Management Flag PPRequiredForTurnOn to
FALSE.

28

SetPPRequiredForTurnOn_True

This operation does not change TPM state.
Sets the Persistent Firmware TPM Management
Flag PPRequiredForTurnOn to TRUE.

29

SetPPRequiredForTurnOff_False

This operation does not change TPM state.
Clears the Persistent Firmware TPM
Management Flag PPRequiredForTurnOff to
FALSE.

30

SetPPRequiredForTurnOff_True

This operation does not change TPM state.
Sets the Persistent Firmware TPM Management
Flag PPRequiredForTurnOff to TRUE.

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 46© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

Operation
Value
31

Operation
Name
SetPPRequiredForChangeEPS_False

TPM commands sent by firmware and otherfirmware actions to perform the operation
This operation does not change TPM state.
Clears the Persistent Firmware TPM
Management Flag PPRequiredForChangeEPS to
FALSE.

32

SetPPRequiredForChangeEPS_True

This operation does not change TPM state.
Sets the Persistent Firmware TPM Management
Flag PPRequiredForChangeEPS to TRUE.

33

LogAllDigests

This operation does not change TPM state.
On next reboot (and only on next reboot), add
digests for all supported hashing algorithms tolog file.

34

35 – 95
96

DisableEndorsementEnableStorageHierarchy

Firmware stores information that enables storage
hierarchy and disables endorsement hierarchy oneach boot. TPM2_HierarchyControl() after
TPM2_Startup()

Reserved (for TPM management)

Reserved, do not implement or use

Enable_BlockSIDFunc

This operation does not change TPM state.
Firmware send command as defined in TCG
Storage Feature Set: Block SID Authentication
Specification to block SID authentication in a
TCG Storage device.

97

Disable_BlockSIDFunc

This operation does not change TPM state.
Firmware send command as defined in TCG
Storage Feature Set: Block SID Authentication
Specification to allow SID authentication in a
TCG Storage device.

98

SetPPRequiredForEnable_BlockSIDFunc_True

This operation does not change TPM state.
Sets the Persistent Firmware Storage
Management Flag
PPRequiredForEnable_BlockSIDFunc to TRUE.

99

SetPPRequiredForEnable_BlockSIDFunc_False

This operation does not change TPM state.
Clears the Persistent Firmware Storage
Management Flag
PPRequiredForEnable_BlockSIDFunc to FALSE.

100

SetPPRequiredForDisable_BlockSIDFunc_True

This operation does not change TPM state.
Sets the Persistent Firmware Storage
Management Flag
PPRequiredForDisable_BlockSIDFunc to TRUE.

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 47© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

Operation
Value

Operation
Name

101

SetPPRequiredForDisable_BlockSIDFunc_False

TPM commands sent by firmware and otherfirmware actions to perform the operation
This operation does not change TPM state.
Clears the Persistent Firmware Storage
Management Flag
PPRequiredForDisable_BlockSIDFunc to FALSE.

102 – 127

Reserved (for Storage management)

Reserved, do not implement or use>= 128Vendor Specific

TPM commands mapping to vendor specificoperation

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 48© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

7 Confirmation Dialog and Keys
Start of informative comment
Confirmation Dialogs
This section is intended to provide design guidance for the firmware dialogs used to confirm that the physically present
user in fact requested execution of the operation. Each operation request is mapped to the dialog presented to theuser to accept or reject the operation.
In consideration of the limited space in the firmware to store text, the confirmations presented in this section attempt
to maximize the potential for text reuse while minimizing impact on security and user understanding.
For consistency in user experience, it is recommended that Platform Manufacturers implement confirmation dialogs
in a similar manner.
Platform Manufacturers should also take into consideration localization requirements for the dialog text. The firmware
should provide a means of ensuring that the dialog text displayed to the user can be understood by that user (e.g.,allow the user to change the language of the confirmation request, default to the user’s preferred language, etc.).
While the text and confirmation keys in Table 6 have been carefully considered to meet a broad range of language
and cultural environments, these may not convey the meaning of the action to all persons depending on theirlanguage, culture, education, and expertise with computing platforms. For this reason, the text provided is preferred
but is not mandatory for all situations.
Confirmation Keys
For security purposes, note that the key used to confirm the Clear and the Deferred Physical Presence
unownedFieldUpgrade operations differs from the confirmation key used for other operations.
The confirmation keys are selected for most keyboards and expected user experiences. While the keys selected do
not conflict with a majority of firmware implementation, some conflicts may occur. The firmware provider may haveused the confirmation keys in Table 6 for other purposes already familiar to the platform user. In this case, changing
the meaning of the key would be confusing to the user. For this reason, the firmware is allowed to use other keys
when such conflicts occur.
Timeouts
A firmware implementation may choose to present the user confirmation dialog only for a limited amount of time. If nouser confirmation is presented during that time, the default response for the requested operation is assumed. Usually,
the default response would be to deny the operation.
End of informative comment

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 49© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

Start
Read
requested
Operation

PP
Confirmation
Required?

No

Yes
PP HW
Enabled?

No

No

Yes

Timeout

PP CmdEnabled?
Yes

PP (HW)
Asserted?

Yes

Yes

PP (Cmd)
Asserted?

No

No

Error
Success

Timeout

Error
Perform Operation

Figure 1: Flowchart for timeout behavior

1. For each operation to be performed through the Physical Presence Interface the firmware MUST ask for
confirmation from a physically present operator per the “When Physical Presence Confirmation is Required”
column in Table 3 and Table 4.
For example, for operation 14, the firmware MUST ask for a physically present user to confirm the operation
if the flag NoPPIClear is FALSE. However, if the flag is TRUE, then the firmware MUST NOT ask for
confirmation.
2. The text in Table 6 is the preferred confirmation text wording to be displayed to the user. The firmware MAY
provide alternate confirmation text wording that differs from Table 6 based upon the platform’s expected user
experience and language; however, the meaning of each message MUST be retained. The text in Table 6

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 50© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

MAY be translated into languages other than the English text indicated in Table 6 provided the meaning of
the text in Table 6 is conveyed in the translated text.
3. Table 7 contains labels for the following user confirmation keys: reject key (labeled as <RK>), accept key(labeled as <AK>), and cautionary accept key (labeled as <CAK>). The key associated with each label
represents a user action indicated by the associated text. The actual key used for each labeled key is to be
determined by the platform’s expected user experience. Typical and example keys that SHALL be used formost environments are provided in Table 7. All occurrences of confirmation keys MUST be consistent foreach operation for the same platform, i.e., the firmware for each platform MUST use the same key
associated to each label. The text representing the key SHALL exclude the angle bracket (i.e. the ‘<’ and ‘>’
characters) and SHALL use the string representing the actual key indicated in Table 7 when presenting thetext in Table 6.
4. The firmware may provide alternate confirmation keys that differ from Table 7 based upon the platform’s
keyboard configuration, expected user experience, or if no keyboard is present.
5. When changing the Endorsement Primary Seed (EPS) using operation 25, all keys in the endorsement
hierarchy become invalid and unusable. This implies that the certificates for keys in the endorsement
hierarchy now certify invalid keys. A TPM 2.0 will generate a new Endorsement Key (EK) after the EPS has
been changed. This new EK could be certified by the TPM vendor if the vendor can validate that the key has
been generated from one of its TPMs. Keys derived from the EK will also become unusable and will have tobe recreated.
Table 6: Confirmations of Physical Presence Interface Operations
Op
Value

Operation
Name

Confirmation
Text

0

No Operation

None

1

EnableA configuration change was requested toenable this computer’s TPM (Trusted Platform
Module)Press <AK> to enable the TPM
Press <RK> to reject this change request andcontinue

2

DisableA configuration change was requested to disable
this computer’s TPM (Trusted Platform Module)
WARNING: Doing so might prevent security
applications that rely on the TPM from functioning
as expected
Press <AK> to disable the TPM
Press <RK> to reject this change request andcontinue

3

Activate

A configuration change was requested to activate
this computer’s TPM (Trusted Platform Module)
Press <AK> to activate the TPM
Press <RK> to reject this change request andcontinue

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 51© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

Op
Value

Operation
Name

Confirmation
Text

4

Deactivate

A configuration change was requested to deactivate
this computer’s TPM (Trusted Platform Module)
WARNING: Doing so might prevent security
applications that rely on the TPM from functioning
as expected
Press <AK> to deactivate the TPM
Press <RK> to reject this change request andcontinue

5

Clear

A configuration change was requested to clear thiscomputer’s TPM (Trusted Platform Module)
WARNING: Clearing erases information stored on
the TPM. You will lose all created keys and accessto data encrypted by these keys.
Press <CAK> to clear the TPM
Press <RK> to reject this change request andcontinue

6

Enable + Activate

A configuration change was requested to enable
and activate this computer’s TPM (Trusted Platform
Module)Start of informative comment
This action will turn on the TPM
End of informative comment
Press <AK> to enable and activate the TPM
Press <RK> to reject this change request andcontinue

7

Deactivate + Disable

A configuration change was requested to deactivateand disable this computer’s TPM (Trusted Platform
Module)Start of informative comment
This action will turn off the TPM
End of informative comment
WARNING: Doing so might prevent security
applications that rely on the TPM from functioning
as expected
Press <AK> to deactivate and disable the TPM
Press <RK> to reject this change request andcontinue

8

SetOwnerInstall_True

A configuration change was requested to allow auser to take ownership of this computer’s TPM(Trusted Platform Module)
Press <AK> to allow a user to take ownership of the
TPM
Press <RK> to reject this change request andcontinue

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 52© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

Op
Value

Operation
Name

Confirmation
Text

9

SetOwnerInstall_False

A configuration change was requested to disallow auser to take ownership of this computer’s TPM(Trusted Platform Module)
Press <AK> to disallow a user to take ownership of
the TPM
Press <RK> to reject this change request andcontinue

10

Enable + Activate + SetOwnerInstall_True

A configuration change was requested to enable,
activate, and allow a user to take ownership of thiscomputer’s TPM (Trusted Platform Module)
Start of informative comment
This action will turn on the TPM
End of informative comment
Press <AK> to enable, activate, and allow a user totake ownership of the TPM
Press <RK> to reject this change request andcontinue

11

SetOwnerInstall_False + Deactivate + Disable

A configuration change was requested to deactivate,
disable, and disallow a user to take ownership of
this computer’s TPM (Trusted Platform Module)
Start of informative comment
This action will turn off the TPM
End of informative comment
WARNING: Doing so might prevent security
applications that rely on the TPM from functioning
as expected
Press <AK> to deactivate, disable, and disallow auser to take ownership of the TPM
Press <RK> to reject this change request andcontinue

12

Deferred Physical PresenceunownedFieldUpgrade

A configuration change was requested to allowchanges to the TPM’s (Trusted Platform Module’s)
firmwareWARNING: Allowing changes to the TPM’s firmware
may affect the operation of the TPM and may erase
information stored on the TPM.
You may lose all created keys and access to dataencrypted by these keys
Press <CAK> to Allow field upgrade of the TPM
Press <RK> to reject this change request andcontinue

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 53© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

Op
Value

Operation
Name

Confirmation
Text

13

SetOperatorAuth

A configuration change was requested to allow thecreation of an operator authentication value that
permits the temporary deactivation of thiscomputer’s TPM (Trusted Platform Module)
Press <AK> to allow the creation of the operator
authentication value of the TPM
Press <RK> to reject this change request andcontinue

14

Clear + Enable + Activate

For TPM 1.2:
A configuration change was requested to clear,enable, and activate this computer’s TPM (Trusted
Platform Module)
Start of informative comment
This action will clear and turn on the TPM
End of informative comment
WARNING: Clearing erases information stored on
the TPM.
You will lose all created keys and access to dataencrypted by these keys. Take ownership as soon
as possible after this step.
Press <CAK> to clear, enable, and activate the TPM
Press <RK> to reject this change request andcontinue
For TPM 2.0:
A configuration change was requested to clear thiscomputer’s TPM (Trusted Platform Module)
WARNING: Clearing erases information stored on
the TPM. You will lose all created keys and accessto data encrypted by these keys.
Press <CAK> to clear the TPM
Press <RK> to reject this change request andcontinue

15

SetNoPPIProvision_False

Start of informative comment
Implementation
Note:
Physicalpresence
confirmation is not necessary. The firmware may
display a message during boot to the user but must
not ask the user for confirmation.
End of informative comment

16

SetNoPPIProvision_True

A configuration change was requested to allow the
Operating System to provision the computer’s TPM(Trusted Platform Module) without asking for user
confirmation in the future.
Press <AK> to approve future Operating System
requests to provision the TPM
Press <RK> to reject this change request andcontinue

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 54© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

Op
Value
17

Operation
Name
SetNoPPIClear_False or
SetPPRequiredForClear_True

Confirmation
Text
Start of informative comment
Implementation
Note:
Physicalpresence
confirmation is not necessary. The firmware may
display a message during boot to the user but must
not ask the user for confirmation.
End of informative comment

18

SetNoPPIClear_True or
SetPPRequiredForClear_False

A configuration change was requested to allow the
Operating System to clear the computer’s TPM(Trusted Platform Module) without asking for user
confirmation in the future.
Start of informative comment
This action does not clear the TPM, but by approving
this configuration change, future actions to clear the
TPM will not require user confirmation.
End of informative comment
WARNING: Clearing erases information stored on
the TPM. You will lose all created keys and accessto data encrypted by these keys.
Press <CAK> to approve future Operating System
requests to clear the TPM
Press <RK> to reject this change request andcontinue

19

SetNoPPIMaintenance_False

Start of informative comment
Implementation
Note:
Physicalpresence
confirmation is not necessary. The firmware may
display a message during boot to the user but must
not ask the user for confirmation.
End of informative comment

20

SetNoPPIMaintenance_True

A configuration change was requested to allow the
Operating System to maintain the computer’s TPM(Trusted Platform Module) without asking for user
confirmation in the future.
WARNING: Allowing future changes to the TPM’s
firmware may affect the operation of the TPM andmay erase information stored on the TPM.
You may lose all created keys and access to dataencrypted by these keys
Press <CAK> to approve future Operating System
requests to maintain the TPM
Press <RK> to reject this change request andcontinue.

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 55© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

Op
Value

Operation
Name

Confirmation
Text

21

Enable + Activate + Clear

A configuration change was requested to enable,
activate and clear this computer’s TPM (Trusted
Platform Module)
WARNING: Clearing erases information stored on
the TPM. You will lose all created keys and accessto data encrypted by these keys.
Press <CAK> to clear the TPM
Press <RK> to reject this change request andcontinue

22

Enable + Activate + Clear + Enable + Activate

For TPM 1.2:
A configuration change was requested to enable,
activate, clear, enable, and activate this computer’sTPM (Trusted Platform Module)
Start of informative comment
This action will clear and turn on the TPM
End of informative comment
WARNING: Clearing erases information stored on
the TPM.
You will lose all created keys and access to dataencrypted by these keys. Take ownership as soon
as possible after this step.
Press <CAK> to clear, enable, and activate the TPM
Press <RK> to reject this change request andcontinue
For TPM 2.0:
A configuration change was requested to clear thiscomputer’s TPM (Trusted Platform Module)
WARNING: Clearing erases information stored on
the TPM. You will lose all created keys and accessto data encrypted by these keys.
Press <CAK> to clear the TPM
Press <RK> to reject this change request andcontinue

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 56© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

Op
Value
23

Operation
Name
SetPCRBanks

Confirmation
Text
A configuration change was requested to change
the boot measurements to use <NEW> PCR
bank(s).
WARNING: Changing the PCR bank(s) of the bootmeasurements may prevent the Operating Systemfrom properly processing the measurements. Pleasecheck if your Operating System supports the new
PCR bank(s).
WARNING: Secrets in the TPM that are bound tothe boot state of your machine may become
unusable.
Press <CAK> to change the PCR bank(s).
Press <RK> to keep the PCR bank(s) currently inuse.
Start of informative comment
Implementation Note: <NEW> is the list of PCR
bank(s) that would be active after the change is
accepted.
End of informative comment

24

ChangeEPS

A configuration change was requested to clear thiscomputer’s TPM (Trusted Platform Module) andchange its identity.
WARNING: Clearing erases information stored on
the TPM. You will lose all created keys and accessto data encrypted with these keys.
WARNING: Changing the identity of the TPM may
require additional steps to establish trust into the
new identity.
Press <CAK> to clear the TPM and change its
identity.
Press <RK> to reject this change request andcontinue.

25

SetPPRequiredForChangePCRs_False

A configuration change was requested to allow the
Operating System to change the format of bootmeasurement log without asking for user
confirmation in the future.
WARNING: Allowing future changes to format of theboot measurement log may affect the Operating
System.
Press <CAK> to approve future Operating System
requests to change the boot log format.
Press <RK> to reject this change request andcontinue

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 57© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

Op
Value
26

Operation
Name
SetPPRequiredForChangePCRs_True

Confirmation
Text
Start of informative comment
Implementation
Note:
Physicalpresence
confirmation is not necessary. The firmware may
display a message during boot to the user but must
not ask the user for confirmation.
End of informative comment

27

SetPPRequiredForTurnOn_False

A configuration change was requested to allow the
Operating System to turn on the computer’s TPM(Trusted Platform Module) without asking for user
confirmation in the future.
Press <AK> to approve future Operating System
requests to provision the TPM
Press <RK> to reject this change request andcontinue

28

SetPPRequiredForTurnOn_True

Start of informative comment
Implementation
Note:
Physicalpresence
confirmation is not necessary. The firmware may
display a message during boot to the user but must
not ask the user for confirmation.
End of informative comment

29

SetPPRequiredForTurnOff_False

A configuration change was requested to allow the
Operating System to turn off the computer’s TPM(Trusted Platform Module) without asking for user
confirmation in the future.
Press <AK> to approve future Operating System
requests to provision the TPM
Press <RK> to reject this change request andcontinue

30

SetPPRequiredForTurnOff_True

Start of informative comment
Implementation
Note:
Physicalpresence
confirmation is not necessary. The firmware may
display a message during boot to the user but must
not ask the user for confirmation.
End of informative comment

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 58© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

Op
Value
31

Operation
Name
SetPPRequiredForChangeEPS_False

Confirmation
Text
A configuration change was requested to allow the
Operating System to maintain the computer’s TPM(Trusted Platform Module) without asking for user
confirmation in the future.
WARNING: Allowing future changes to the TPM’s
firmware may affect the operation of the TPM andmay erase information stored on the TPM.
You may lose all created keys and access to dataencrypted by these keys
Press <CAK> to approve future Operating System
requests to maintain the TPM
Press <RK> to reject this change request andcontinue

32

SetPPRequiredForChangeEPS_True

Start of informative comment
Implementation
Note:
Physicalpresence
confirmation is not necessary. The firmware may
display a message during boot to the user but must
not ask the user for confirmation.
End of informative comment

33

LogAllDigests

Start of informative comment
Implementation
Note:
Physicalpresence
confirmation is not necessary. The firmware may
display a message during boot to the user but must
not ask the user for confirmation.
End of informative comment

34

DisableEndorsementEnableStorageHierarchy

A configuration change was requested to disable
access to secrets stored in the endorsement
hierarchy and enable access to secrets stored in thestorage hierarchy of this computer’s TPM (Trusted
Platform Module)
WARNING: Doing so might prevent security
applications that rely on the TPM from functioning
as expected
Press <AK> to change the configuration of the TPM.
Press <RK> to reject this change request andcontinue

35 –95

Reserved (for TPM Management)

96

Enable_BlockSIDFunc

A configuration change was requested to issue a
Block SID authentication command on subsequentboots.

97

Disable_BlockSIDFunc

A configuration change was requested to disable
issuing a Block SID authentication command on thenext boot only.

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 59© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

Op
Value

Operation
Name

98

SetPPRequiredForEnable_BlockSIDFunc_True

Confirmation
Text
Start of informative comment
Implementation
Note:
Physicalpresence
confirmation is not necessary. The firmware may
display a message during boot to the user but must
not ask the user for confirmation.
End of informative comment99

SetPPRequiredForEnable_BlockSIDFunc_False

A configuration change was requested to allow the
Operating System to enable blocking SID
authentication without asking for user confirmationin the future.
Press <AK> to approve future Operating System
requests to block SID authentication
Press <RK> to reject this change request andcontinue

100

SetPPRequiredForDisable_BlockSIDFunc_True

Start of informative comment
Implementation
Note:
Physicalpresence
confirmation is not necessary. The firmware may
display a message during boot to the user but must
not ask the user for confirmation.
End of informative comment101

SetPPRequiredForDisable_BlockSIDFunc_False

A configuration change was requested to allow the
Operating System to disable blocking SID
authentication without asking for user confirmationin the future.
Press <AK> to approve future Operating System
requests to disable blocking SID authentication
Press <RK> to reject this change request andcontinue

102 –
127

Reserved (for Storage Management)>=
128

Vendor Specific

Table 7: User Confirmation Key Mappings
User
Confirmation
Keys

Key Meaning

ExampleActual Key

Text
Represent
Actual Key<RK>

Reject Key – user rejects the action

ESC key

[ESC]

<AK>

Accept Key – user accepts the action where the action
does not cause a potential loss of data

Function
F10 key

[F10]

<CAK>

Caution Accept Key – user accepts the action using a
different key than the Accept Key to mitigate the potentialof accepting an action that may cause the loss of data.

FunctionF12 key[F12]

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 60

tothe© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

Table 8: User Confirmation keys for Systems without keyboards
User
Confirmation
Keys

Key Meaning<RK>

Reject Key – user rejects the action

Volume
Down

Volume Down

<AK>

Accept Key – user accepts the action where the action
does not cause a potential loss of data

Volume Up

Volume Up<CAK>

Caution Accept Key – user accepts the action using a
different key than the Accept Key to mitigate the potentialof accepting an action that may cause the loss of data.

Volume Up

Volume Up

ExampleActual Key

Text
Represent
Actual Key

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 61

tothe© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

8 Physical Presence Interface Pseudo CodeStart of informative comment
The pseudo code below is intended to provide design guidance for the implementation of the Physical Presence
Interface for TPM management. This does not cover operations for Storage management. As long as normativerequirements are adhered to, the PM is free to vary implementation details.
/******************************************************************************
This section of the pseudo code illustrates the behavior of the operating system user mode componentsthat initiate the Physical Presence Interface call into the firmware. Note that this section is forunderstanding only and does not dictate actual OS behavior.
******************************************************************************/
OS_Admin_Tool()
If (User_Desires_Functionality_That_Requires_Physical_Presence()) {Display_Platform_Specific_Dialog_Documentation()If (Software_Physical_Presence_Supported()) {Write_Physical_Presence_Interface_Request(OperationValue, Argument)// see pseudocode in the method below for more details
Optional_Register_OS_Component_To_Run_On_Next_Boot(OS_Component_Post_Reboot())
Execute_Platform_Specific_Transition()}}

OS_Component_Post_Reboot()
If (Get_Physical_Presence_Interface_Response()!= SUCCESS) {Optional_Provide_Failure_Notice()}/******************************************************************************
This section of the pseudo code illustrates the behavior of the pre-OS environment including the CRTM
and portion of the firmware that acts upon the Physical Presence Interface requests. Implementation
details may differ as the CRTM can be either the boot block or the entire firmware.
******************************************************************************/Main()
CRTM()
Post_ BIOS()
Boot_Into_OS()
CRTM()
Reset_Vector()
If (Physical_Presence_Asserted()) {Turn_On_Physical_Presence_Flag()} Else {Lock_Physical_Presence()}

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 62© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

Post_BIOS()
Argument = 0
If (OperationValue = Read_Physical_Presence_Interface_Request()) {RequestConfirmed = False
If (OperationValue = 1 Or 3) {If (NoPPIProvision = True Or PPRequiredForTurnOn = False) {RequestConfirmed = True}
} Else If (OperationValue = 2, 4, 6 Or 7) {If (NoPPIProvision = True Or PPRequiredForTurnOff = False) {RequestConfirmed = True}
} Else If (OperationValue = 5) {If (NoPPIClear = True Or PPRequiredForClear = False) {RequestConfirmed = True}
} Else If (OperationValue = 8, 9, 10, 11 Or 13) {If (NoPPIProvision = True) {RequestConfirmed = True}
} Else If (OperationValue = 12) {If (NoPPIMaintenance = True) {RequestConfirmed = True}
} Else If (OperationValue = 14, 21 Or 22) {If ((PPRequiredForTurnOn = False And PPRequiredForClear = False) Or(NoPPIClear = True)) {RequestConfirmed = True}
} Else If (OperationValue = 23) {Argument = Read_Physical_Presence_Interface_Argument();
If (PPRequiredForChangePCRs = False) {RequestConfirmed = True}
} Else If (OperationValue = 24) {If (PPRequiredForChangeEPS = False) {RequestConfirmed = True}
} Else If (OperationValue = 15, 17, 19, 25, 27, 29, 31 Or 33) {RequestConfirmed = True
} Else If (OperationValue = 34) {If (IsStorageHierarchyDisabled() And PPRequiredForTurnOn = False) {RequestConfirmed = True}
If (IsEndorsementHierarchyEnabled() And PPRequiredForTurnOff = False) {RequestConfirmed = True}}
If (RequestConfirmed = False) {If (Physical_Presence_Asserted_In_CRTM()) {If (Optional_BIOS_Administrative_Password_Authenticated()){
RequestConfirmed = Prompt_Confirmation_Of_Request() within Timeout Period}}
Response = UserAbort}
If (RequestConfirmed) {// see pseudocode in the method below for more details

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 63© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

Response = Execute_Physical_Presence_Interface_Request(
OperationValue, Argument)}
Clear_Physical_Presence_Interface_Request()
Set_Physical_Presence_Interface_Response(Request, Response)
If (RequestsConfirmed) {// a reboot is necessary to activate the operation
ResetVector()}} Else If (Request_To_Enter_Startup_Setup() within Timeout Period) {Standard_Setup()}
Lock_Physical_Presence()
Execute_Physical_Presence_Interface_Request(OperationValue, Argumet)
For Each TPM_Command in OperationCommands.Get(OperationValue)
ReturnValue = Execute(TPM_Command, Argument){

If ReturnValue != SUCCESS
Return ReturnValue}/******************************************************************************
This section of the pseudo code describes functions used in previous sections.
******************************************************************************/
1. User_Desires_Functionality_That_Requires_Physical_Presence()
If true, the user logged in to the OS has chosen to perform an action that requires physicalpresence authorization. For example, the user has chosen to force clear the TPM.
2. Display_Platform_Specific_Dialog_Documentation()
The OS displays platform-specific documentation to inform the user of the procedure that musttake place to successfully execute the desired functionality. The platform-specificdocumentation is multi-lingual for users of different locales. The text may be customized by
the PM during OS pre-install time.
The dialog that displays the platform-specific documentation also contains a button to carryout the platform’s transition action as specified through ACPI (see Table 7).
If the specified ACPI functions are not implemented, the default dialog alerts the user toconsult the documentation that shipped with their platform to execute the desired functionality.
3. Software_Physical_Presence_Supported()
If true, the PM has implemented the software/command method of asserting physical presence.
This method reads the TPM permanent flag structure’s physicalPresenceCMDEnable flag.
4. Write_Physical_Presence_Interface_Request(OperationValue, Argument)
The OS calls the “Submit TPM Operation Request to Pre-OS Environment 2” Function of the PhysicalPresence Interface to submit the operation request to the BIOS (see Table 3 and Table 4) andpasses in the Argument.
5. Optional_Register_OS_Component_To_Run_On_Next_Boot(OS_Component_Post_Reboot())

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 64© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

The OS optionally registers a component to run post-reboot in order to perform clean up basedon the return value. See the OS_Component_Post_Reboot() method in the pseudocode for moredetails
6. Execute_Platform_Specific_Transition()
The OS executes the action requested by the user in the platform-specific dialog (seeDisplay_Platform_Specific_Dialog_Documentation()). For example, the action may be to shut down
the platform.
7. Get_Physical_Presence_Interface_Response()
The OS calls the “Return TPM Operation Response to OS Environment” function of the PhysicalPresence Interface to read the return value of the request (see Table 3 and Table 4).
8. Optional_Provide_Failure_Notice()
Provides notification of the failure (e.g. write failure to event log).
9. Reset_Vector()
The vector within the CRTM that is first executed upon platform reboot.
10. Physical_Presence_Asserted()
If true, the CRTM has sensed the physical presence assertion of the user. For example, the user
has pressed the startup button or inserted a USB dongle. The details of the implementation are
vendor-specific.
11. Turn_On_Physical_Presence_Flag()Sets
thePhysicalPresence
permanent
flag
to
true
by
executing
TSC_PhysicalPresence(TPM_PHYSICAL_PRESENCE = TPM_PHYSICAL_PRESENCE_PRESENT). At this time, thephysicalPresenceLock has already been reset to false due to execution of TPM_Startup(STCLEAR).
12. Lock_Physical_Presence()
Sets the PhysicalPresenceLock = True and PhysicalPresence –TSC_PhysicalPresence(TPM_PHYSICAL_PRESENCE = TPM_PHYSICAL_LOCK)

False

using

the

command

13. Read_Physical_Presence_Interface_Request()
Reads
from
the
storagelocation
modifiedby
Write_Physical_Presence_Interface_Request(OperationValue, Argument) and returns this operation
value.
14. Read_Physical_Presence_Interface_Argument()
Reads
from
the
storagelocation
modifiedby
Write_Physical_Presence_Interface_Request(OperationValue, Argument) and returns the operationargument.
15. Physical_Presence_Asserted_In_CRTM()
If true, physical presence was asserted in the CRTM. This method reads the TPM permanent flag
structure’s physicalPresence flag or optionally, a manufacturer-specific flag that was set when
physical presence was sensed via Physical_Presence_Asserted().
16. Optional_BIOS_Administrative_Password_Authenticated()
The PM may optionally decide to implement the ability to authenticate with a BIOS administrative
password before a TPM command that requires physical presence can be executed. If true isreturned, the BIOS administrative password has been authenticated.

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 65© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

17. Prompt_Confirmation_Of_Request()
This is the dialog displayed to the user that prompts for confirmation of the Physical Presence
Interface request. The return value is True or False depending on whether the user confirms or
rejects the request, respectively. The confirmation should be implemented such that the user
can understand at a high level the security implications of the operation and must actively
choose to execute the operation (e.g. the default should not be to confirm the operation).
See Table 7 for guidance on the dialog text.
18. Clear_Physical_Presence_Interface_Request()
Clears the storage area modified by Write_Physical_Presence_Interface_Request(OperationValue,
Argument), for example by setting it to a value of 0.
19. Set_Physical_Presence_Interface_Response(Request, Response)Writes the response so that it can be retrieved by calling the “Return TPM Operation Response
to OS Environment” function of the Physical Presence Interface.
20. Request_To_Enter_Startup_Setup()
There must be a way to enter standard setup of the BIOS when no Physical Presence Interface
requests are present. In this pseudo code, standard setup cannot be entered if a request exists
on the Physical Presence Interface. The BIOS implementation may choose a different method.

End of informative comment

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 66© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

9 Scenario with recommended default for Persistent Firmware TPM
Management Flags
Start of informative comment
This whole section is informative.
The flags may be set independently, and their values may be changed through the use of physical presence
operations or other vendor specific configuration utilities. Table 9 contains a list of the flags for a TPM 1.2. A
firmware implementation may choose to implement separate flags to enable / activate and disable / deactivatea TPM 1.2.
Table 9: Persistent Firmware TPM Management Flags for TPM 1.2

Flag Description

Operations permitted without
user confirmation when set

Recommended
Default

NoPPIProvision

EnableTrue

DisableActivate
Deactivate
SetOwnerInstall_True
SetOwnerInstall_False
SetOperatorAuth
NoPPIClear

TPM_ForceClear

False

NoPPIMaintenanceDeferred Physical PresenceunownedFieldUpgrade

False

9.1 Persistent Firmware TPM Management Flags for TPM 2.0
The Persistent Firmware TPM Management Flags for TPM 2.0 may be used on systems with TPM 1.2. This
specification does not provide a mapping between these flags and the operations they should be applied to.
Different scenarios ask for different settings of the flags. The following scenarios describe different
requirements and the respective recommended default values.
Table 10: Scenario 1: PC Client system for end customer. A customer who owns his device and wants toexercise control over it will want to be prompted for changes to the content of the TPM but is ok with the TPM
being enabled automatically.
Table 10: Scenario 1
Flag Description

Operations permitted without user
confirmation when set

Recommended Default

PPRequiredForTurnOn

EnableFalse

PPRequiredForTurnOff

DisableTrue

PPRequiredForClear

TPM2_Clear

True

PPRequiredForChangeEPS

TPM2_ChangeEPS

True

PPRequiredForChangePCRs

SetPCRBanks

False

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 67© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

Table 11: Scenario 2: A PC managed by the IT department of the company. The company wants to remotely

manage the PC and the TPM. If possible, the interaction should be minimal and the TPM should always beenabled.
Table 11: Scenario 2
Flag Description

Operations permitted without user
confirmation when set

Recommended Default

PPRequiredForTurnOn

EnableFalse

PPRequiredForTurnOff

DisableTrue

PPRequiredForClear

TPM2_Clear

False

PPRequiredForChangeEPS

TPM2_ChangeEPS

False

PPRequiredForChangePCRs

SetPCRBanks

False

Table 12: Scenario 3: A server machine managed by a remote administrator. The administrator wants tominimize interaction with the machine. Firmware should always execute all TPM operations. Operations
requiring physical presence are asserted to a PP pin on the TPM. The pin is controlled by a board
management controller that is in turn controlled by the remote administrator.
Table 12: Scenario 3
Flag Description

Operations permitted without user
confirmation when set

Recommended Default

PPRequiredForTurnOn

EnableFalse

PPRequiredForTurnOff

DisableFalse

PPRequiredForClear

TPM2_Clear

False

PPRequiredForChangeEPS

TPM2_ChangeEPS

False

PPRequiredForChangePCRs

SetPCRBanks

False

End of informative comment

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 68© TCG 2022

TCG PC Client Platform Physical Presence Interface Specification

10 References[1]2-character ISO-639-1 format. http://www.loc.gov/standards/iso639-2/php/English_list.php

TCG PC Client Platform Physical Presence Interface Specification | Version 1.4 | Revision 15 | 7/8/2022 | PUBLIC REVIEWPage 69© TCG 2022