blob: a518e50b96767b60aaf90ab4391532c8d0639565 [file] [log] [blame]
/** @file
TCG Physical Presence definition.
Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef _TCG_PHYSICAL_PRESENCE_H_
#define _TCG_PHYSICAL_PRESENCE_H_
//
// TCG PP definition for physical presence ACPI function
//
#define TCG_ACPI_FUNCTION_GET_PHYSICAL_PRESENCE_INTERFACE_VERSION 1
#define TCG_ACPI_FUNCTION_SUBMIT_REQUEST_TO_BIOS 2
#define TCG_ACPI_FUNCTION_GET_PENDING_REQUEST_BY_OS 3
#define TCG_ACPI_FUNCTION_GET_PLATFORM_ACTION_TO_TRANSITION_TO_BIOS 4
#define TCG_ACPI_FUNCTION_RETURN_REQUEST_RESPONSE_TO_OS 5
#define TCG_ACPI_FUNCTION_SUBMIT_PREFERRED_USER_LANGUAGE 6
#define TCG_ACPI_FUNCTION_SUBMIT_REQUEST_TO_BIOS_2 7
#define TCG_ACPI_FUNCTION_GET_USER_CONFIRMATION_STATUS_FOR_REQUEST 8
//
// TCG PP definition for TPM Operation Response to OS Environment
//
#define TCG_PP_OPERATION_RESPONSE_SUCCESS 0x0
#define TCG_PP_OPERATION_RESPONSE_USER_ABORT 0xFFFFFFF0
#define TCG_PP_OPERATION_RESPONSE_BIOS_FAILURE 0xFFFFFFF1
//
// TCG PP definition of return code for Return TPM Operation Response to OS Environment
//
#define TCG_PP_RETURN_TPM_OPERATION_RESPONSE_SUCCESS 0
#define TCG_PP_RETURN_TPM_OPERATION_RESPONSE_FAILURE 1
//
// TCG PP definition of return code for Submit TPM Request to Pre-OS Environment
// and Submit TPM Request to Pre-OS Environment 2
//
#define TCG_PP_SUBMIT_REQUEST_TO_PREOS_SUCCESS 0
#define TCG_PP_SUBMIT_REQUEST_TO_PREOS_NOT_IMPLEMENTED 1
#define TCG_PP_SUBMIT_REQUEST_TO_PREOS_GENERAL_FAILURE 2
#define TCG_PP_SUBMIT_REQUEST_TO_PREOS_BLOCKED_BY_BIOS_SETTINGS 3
//
// TCG PP definition of return code for Get User Confirmation Status for Operation
//
#define TCG_PP_GET_USER_CONFIRMATION_NOT_IMPLEMENTED 0
#define TCG_PP_GET_USER_CONFIRMATION_BIOS_ONLY 1
#define TCG_PP_GET_USER_CONFIRMATION_BLOCKED_BY_BIOS_CONFIGURATION 2
#define TCG_PP_GET_USER_CONFIRMATION_ALLOWED_AND_PPUSER_REQUIRED 3
#define TCG_PP_GET_USER_CONFIRMATION_ALLOWED_AND_PPUSER_NOT_REQUIRED 4
//
// TCG PP definition of physical presence operation actions for TPM12
//
#define TCG_PHYSICAL_PRESENCE_NO_ACTION 0
#define TCG_PHYSICAL_PRESENCE_ENABLE 1
#define TCG_PHYSICAL_PRESENCE_DISABLE 2
#define TCG_PHYSICAL_PRESENCE_ACTIVATE 3
#define TCG_PHYSICAL_PRESENCE_DEACTIVATE 4
#define TCG_PHYSICAL_PRESENCE_CLEAR 5
#define TCG_PHYSICAL_PRESENCE_ENABLE_ACTIVATE 6
#define TCG_PHYSICAL_PRESENCE_DEACTIVATE_DISABLE 7
#define TCG_PHYSICAL_PRESENCE_SET_OWNER_INSTALL_TRUE 8
#define TCG_PHYSICAL_PRESENCE_SET_OWNER_INSTALL_FALSE 9
#define TCG_PHYSICAL_PRESENCE_ENABLE_ACTIVATE_OWNER_TRUE 10
#define TCG_PHYSICAL_PRESENCE_DEACTIVATE_DISABLE_OWNER_FALSE 11
#define TCG_PHYSICAL_PRESENCE_DEFERRED_PP_UNOWNERED_FIELD_UPGRADE 12
#define TCG_PHYSICAL_PRESENCE_SET_OPERATOR_AUTH 13
#define TCG_PHYSICAL_PRESENCE_CLEAR_ENABLE_ACTIVATE 14
#define TCG_PHYSICAL_PRESENCE_SET_NO_PPI_PROVISION_FALSE 15
#define TCG_PHYSICAL_PRESENCE_SET_NO_PPI_PROVISION_TRUE 16
#define TCG_PHYSICAL_PRESENCE_SET_NO_PPI_CLEAR_FALSE 17
#define TCG_PHYSICAL_PRESENCE_SET_NO_PPI_CLEAR_TRUE 18
#define TCG_PHYSICAL_PRESENCE_SET_NO_PPI_MAINTENANCE_FALSE 19
#define TCG_PHYSICAL_PRESENCE_SET_NO_PPI_MAINTENANCE_TRUE 20
#define TCG_PHYSICAL_PRESENCE_ENABLE_ACTIVATE_CLEAR 21
#define TCG_PHYSICAL_PRESENCE_ENABLE_ACTIVATE_CLEAR_ENABLE_ACTIVATE 22
#define TCG_PHYSICAL_PRESENCE_VENDOR_SPECIFIC_OPERATION 128
//
// TCG PP definition of physical presence operation actions for TPM2
//
#define TCG2_PHYSICAL_PRESENCE_NO_ACTION 0
#define TCG2_PHYSICAL_PRESENCE_ENABLE 1
#define TCG2_PHYSICAL_PRESENCE_DISABLE 2
#define TCG2_PHYSICAL_PRESENCE_CLEAR 5
#define TCG2_PHYSICAL_PRESENCE_ENABLE_CLEAR 14
#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_CLEAR_TRUE 17
#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_CLEAR_FALSE 18
#define TCG2_PHYSICAL_PRESENCE_ENABLE_CLEAR_2 21
#define TCG2_PHYSICAL_PRESENCE_ENABLE_CLEAR_3 22
#define TCG2_PHYSICAL_PRESENCE_SET_PCR_BANKS 23
#define TCG2_PHYSICAL_PRESENCE_CHANGE_EPS 24
#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_CHANGE_PCRS_FALSE 25
#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_CHANGE_PCRS_TRUE 26
#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_TURN_ON_FALSE 27
#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_TURN_ON_TRUE 28
#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_TURN_OFF_FALSE 29
#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_TURN_OFF_TRUE 30
#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_CHANGE_EPS_FALSE 31
#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_CHANGE_EPS_TRUE 32
#define TCG2_PHYSICAL_PRESENCE_LOG_ALL_DIGESTS 33
#define TCG2_PHYSICAL_PRESENCE_DISABLE_ENDORSEMENT_ENABLE_STORAGE_HIERARCHY 34
#define TCG2_PHYSICAL_PRESENCE_NO_ACTION_MAX 34
//
// TCG PP definition of physical presence operation actions for storage management
//
#define TCG2_PHYSICAL_PRESENCE_STORAGE_MANAGEMENT_BEGIN 96
#define TCG2_PHYSICAL_PRESENCE_ENABLE_BLOCK_SID 96
#define TCG2_PHYSICAL_PRESENCE_DISABLE_BLOCK_SID 97
#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_ENABLE_BLOCK_SID_FUNC_TRUE 98
#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_ENABLE_BLOCK_SID_FUNC_FALSE 99
#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_DISABLE_BLOCK_SID_FUNC_TRUE 100
#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_DISABLE_BLOCK_SID_FUNC_FALSE 101
#define TCG2_PHYSICAL_PRESENCE_VENDOR_SPECIFIC_OPERATION 128
#endif