TianoCore EDK2 master
Loading...
Searching...
No Matches
Tcg2PhysicalPresenceLib.h File Reference

Go to the source code of this file.

Macros

#define TCG2_BIOS_TPM_MANAGEMENT_FLAG_PP_REQUIRED_FOR_CLEAR   BIT1
 
#define TCG2_LIB_PP_FLAG_RESET_TRACK   BIT3
 
#define TCG2_BIOS_TPM_MANAGEMENT_FLAG_PP_REQUIRED_FOR_TURN_ON   BIT4
 
#define TCG2_BIOS_TPM_MANAGEMENT_FLAG_PP_REQUIRED_FOR_TURN_OFF   BIT5
 
#define TCG2_BIOS_TPM_MANAGEMENT_FLAG_PP_REQUIRED_FOR_CHANGE_EPS   BIT6
 
#define TCG2_BIOS_TPM_MANAGEMENT_FLAG_PP_REQUIRED_FOR_CHANGE_PCRS   BIT7
 
#define TCG2_BIOS_INFORMATION_FLAG_HIERARCHY_CONTROL_STORAGE_DISABLE   BIT8
 
#define TCG2_BIOS_INFORMATION_FLAG_HIERARCHY_CONTROL_ENDORSEMENT_DISABLE   BIT9
 
#define TCG2_BIOS_STORAGE_MANAGEMENT_FLAG_PP_REQUIRED_FOR_ENABLE_BLOCK_SID   BIT16
 
#define TCG2_BIOS_STORAGE_MANAGEMENT_FLAG_PP_REQUIRED_FOR_DISABLE_BLOCK_SID   BIT17
 
#define TCG2_BIOS_STORAGE_MANAGEMENT_FLAG_ENABLE_BLOCK_SID   BIT18
 

Functions

VOID EFIAPI Tcg2PhysicalPresenceLibProcessRequest (IN TPM2B_AUTH *PlatformAuth OPTIONAL)
 
BOOLEAN EFIAPI Tcg2PhysicalPresenceLibNeedUserConfirm (VOID)
 
UINT32 EFIAPI Tcg2PhysicalPresenceLibGetManagementFlags (VOID)
 
UINT32 EFIAPI Tcg2PhysicalPresenceLibReturnOperationResponseToOsFunction (OUT UINT32 *MostRecentRequest, OUT UINT32 *Response)
 
UINT32 Tcg2PhysicalPresenceLibSubmitRequestToPreOSFunctionEx (IN OUT UINT32 *OperationRequest, IN OUT UINT32 *RequestParameter)
 
UINT32 EFIAPI Tcg2PhysicalPresenceLibSubmitRequestToPreOSFunction (IN UINT32 OperationRequest, IN UINT32 RequestParameter)
 
UINT32 EFIAPI Tcg2PhysicalPresenceLibGetUserConfirmationStatusFunction (IN UINT32 OperationRequest)
 

Detailed Description

This library is intended to be used by BDS modules. This library will execute TPM2 request.

Copyright (c) 2015 - 2020, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file Tcg2PhysicalPresenceLib.h.

Macro Definition Documentation

◆ TCG2_BIOS_INFORMATION_FLAG_HIERARCHY_CONTROL_ENDORSEMENT_DISABLE

#define TCG2_BIOS_INFORMATION_FLAG_HIERARCHY_CONTROL_ENDORSEMENT_DISABLE   BIT9

Definition at line 33 of file Tcg2PhysicalPresenceLib.h.

◆ TCG2_BIOS_INFORMATION_FLAG_HIERARCHY_CONTROL_STORAGE_DISABLE

#define TCG2_BIOS_INFORMATION_FLAG_HIERARCHY_CONTROL_STORAGE_DISABLE   BIT8

Definition at line 32 of file Tcg2PhysicalPresenceLib.h.

◆ TCG2_BIOS_STORAGE_MANAGEMENT_FLAG_ENABLE_BLOCK_SID

#define TCG2_BIOS_STORAGE_MANAGEMENT_FLAG_ENABLE_BLOCK_SID   BIT18

Definition at line 40 of file Tcg2PhysicalPresenceLib.h.

◆ TCG2_BIOS_STORAGE_MANAGEMENT_FLAG_PP_REQUIRED_FOR_DISABLE_BLOCK_SID

#define TCG2_BIOS_STORAGE_MANAGEMENT_FLAG_PP_REQUIRED_FOR_DISABLE_BLOCK_SID   BIT17

Definition at line 39 of file Tcg2PhysicalPresenceLib.h.

◆ TCG2_BIOS_STORAGE_MANAGEMENT_FLAG_PP_REQUIRED_FOR_ENABLE_BLOCK_SID

#define TCG2_BIOS_STORAGE_MANAGEMENT_FLAG_PP_REQUIRED_FOR_ENABLE_BLOCK_SID   BIT16

Definition at line 38 of file Tcg2PhysicalPresenceLib.h.

◆ TCG2_BIOS_TPM_MANAGEMENT_FLAG_PP_REQUIRED_FOR_CHANGE_EPS

#define TCG2_BIOS_TPM_MANAGEMENT_FLAG_PP_REQUIRED_FOR_CHANGE_EPS   BIT6

Definition at line 26 of file Tcg2PhysicalPresenceLib.h.

◆ TCG2_BIOS_TPM_MANAGEMENT_FLAG_PP_REQUIRED_FOR_CHANGE_PCRS

#define TCG2_BIOS_TPM_MANAGEMENT_FLAG_PP_REQUIRED_FOR_CHANGE_PCRS   BIT7

Definition at line 27 of file Tcg2PhysicalPresenceLib.h.

◆ TCG2_BIOS_TPM_MANAGEMENT_FLAG_PP_REQUIRED_FOR_CLEAR

#define TCG2_BIOS_TPM_MANAGEMENT_FLAG_PP_REQUIRED_FOR_CLEAR   BIT1

Definition at line 21 of file Tcg2PhysicalPresenceLib.h.

◆ TCG2_BIOS_TPM_MANAGEMENT_FLAG_PP_REQUIRED_FOR_TURN_OFF

#define TCG2_BIOS_TPM_MANAGEMENT_FLAG_PP_REQUIRED_FOR_TURN_OFF   BIT5

Definition at line 25 of file Tcg2PhysicalPresenceLib.h.

◆ TCG2_BIOS_TPM_MANAGEMENT_FLAG_PP_REQUIRED_FOR_TURN_ON

#define TCG2_BIOS_TPM_MANAGEMENT_FLAG_PP_REQUIRED_FOR_TURN_ON   BIT4

Definition at line 24 of file Tcg2PhysicalPresenceLib.h.

◆ TCG2_LIB_PP_FLAG_RESET_TRACK

#define TCG2_LIB_PP_FLAG_RESET_TRACK   BIT3

Definition at line 23 of file Tcg2PhysicalPresenceLib.h.

Function Documentation

◆ Tcg2PhysicalPresenceLibGetManagementFlags()

UINT32 EFIAPI Tcg2PhysicalPresenceLibGetManagementFlags ( VOID  )

Return TPM2 ManagementFlags set by PP interface.

Return values
ManagementFlagsTPM2 Management Flags.

Definition at line 1234 of file DxeTcg2PhysicalPresenceLib.c.

◆ Tcg2PhysicalPresenceLibGetUserConfirmationStatusFunction()

UINT32 EFIAPI Tcg2PhysicalPresenceLibGetUserConfirmationStatusFunction ( IN UINT32  OperationRequest)

The handler for TPM physical presence function: Get User Confirmation Status for Operation.

This API should be invoked in OS runtime phase to interface with ACPI method.

Caution: This function may receive untrusted input.

Parameters
[in]OperationRequestTPM physical presence operation request.
Returns
Return Code for Get User Confirmation Status for Operation.

Definition at line 229 of file MmTcg2PhysicalPresenceLibCommon.c.

◆ Tcg2PhysicalPresenceLibNeedUserConfirm()

BOOLEAN EFIAPI Tcg2PhysicalPresenceLibNeedUserConfirm ( VOID  )

Check if the pending TPM request needs user input to confirm.

The TPM request may come from OS. This API will check if TPM request exists and need user input to confirmation.

Return values
TRUETPM needs input to confirm user physical presence.
FALSETPM doesn't need input to confirm user physical presence.

Definition at line 1025 of file DxeTcg2PhysicalPresenceLib.c.

◆ Tcg2PhysicalPresenceLibProcessRequest()

VOID EFIAPI Tcg2PhysicalPresenceLibProcessRequest ( IN TPM2B_AUTH *PlatformAuth  OPTIONAL)

Check and execute the pending TPM request.

The TPM request may come from OS or BIOS. This API will display request information and wait for user confirmation if TPM request exists. The TPM request will be sent to TPM device after the TPM request is confirmed, and one or more reset may be required to make TPM request to take effect.

This API should be invoked after console in and console out are all ready as they are required to display request information and get user input to confirm the request.

Parameters
PlatformAuthplatform auth value. NULL means no platform auth change.

Check and execute the pending TPM request.

The TPM request may come from OS or BIOS. This API will display request information and wait for user confirmation if TPM request exists. The TPM request will be sent to TPM device after the TPM request is confirmed, and one or more reset may be required to make TPM request to take effect.

This API should be invoked after console in and console out are all ready as they are required to display request information and get user input to confirm the request.

Parameters
[in]PlatformAuthplatform auth value. NULL means no platform auth change.

Definition at line 14 of file DxeTcg2PhysicalPresenceLib.c.

◆ Tcg2PhysicalPresenceLibReturnOperationResponseToOsFunction()

UINT32 EFIAPI Tcg2PhysicalPresenceLibReturnOperationResponseToOsFunction ( OUT UINT32 *  MostRecentRequest,
OUT UINT32 *  Response 
)

The handler for TPM physical presence function: Return TPM Operation Response to OS Environment.

This API should be invoked in OS runtime phase to interface with ACPI method.

Parameters
[out]MostRecentRequestMost recent operation request.
[out]ResponseResponse to the most recent operation request.
Returns
Return Code for Return TPM Operation Response to OS Environment.

The handler for TPM physical presence function: Return TPM Operation Response to OS Environment.

Parameters
[out]MostRecentRequestMost recent operation request.
[out]ResponseResponse to the most recent operation request.
Returns
Return Code for Return TPM Operation Response to OS Environment.

Definition at line 871 of file DxeTcg2PhysicalPresenceLib.c.

◆ Tcg2PhysicalPresenceLibSubmitRequestToPreOSFunction()

UINT32 EFIAPI Tcg2PhysicalPresenceLibSubmitRequestToPreOSFunction ( IN UINT32  OperationRequest,
IN UINT32  RequestParameter 
)

The handler for TPM physical presence function: Submit TPM Operation Request to Pre-OS Environment and Submit TPM Operation Request to Pre-OS Environment 2.

This API should be invoked in OS runtime phase to interface with ACPI method.

Caution: This function may receive untrusted input.

Parameters
[in]OperationRequestTPM physical presence operation request.
[in]RequestParameterTPM physical presence operation request parameter.
Returns
Return Code for Submit TPM Operation Request to Pre-OS Environment and Submit TPM Operation Request to Pre-OS Environment 2.

The handler for TPM physical presence function: Submit TPM Operation Request to Pre-OS Environment and Submit TPM Operation Request to Pre-OS Environment 2.

Caution: This function may receive untrusted input.

Parameters
[in]OperationRequestTPM physical presence operation request.
[in]RequestParameterTPM physical presence operation request parameter.
Returns
Return Code for Submit TPM Operation Request to Pre-OS Environment and Submit TPM Operation Request to Pre-OS Environment 2.

Definition at line 909 of file DxeTcg2PhysicalPresenceLib.c.

◆ Tcg2PhysicalPresenceLibSubmitRequestToPreOSFunctionEx()

UINT32 Tcg2PhysicalPresenceLibSubmitRequestToPreOSFunctionEx ( IN OUT UINT32 *  OperationRequest,
IN OUT UINT32 *  RequestParameter 
)

The handler for TPM physical presence function: Submit TPM Operation Request to Pre-OS Environment and Submit TPM Operation Request to Pre-OS Environment 2.

This API should be invoked in OS runtime phase to interface with ACPI method.

Caution: This function may receive untrusted input.

Parameters
[in,out]Pointerto OperationRequest TPM physical presence operation request.
[in,out]Pointerto RequestParameter TPM physical presence operation request parameter.
Returns
Return Code for Submit TPM Operation Request to Pre-OS Environment and Submit TPM Operation Request to Pre-OS Environment 2.

Definition at line 88 of file MmTcg2PhysicalPresenceLibCommon.c.