coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
tpm_ppi.h File Reference
Include dependency graph for tpm_ppi.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  cb_tpm_ppi_payload_handshake
 

Macros

#define PPI2_RET_SUCCESS   0
 
#define PPI2_RET_NOT_SUPPORTED   1
 
#define PPI2_RET_GENERAL_FAILURE   2
 
#define PPI3_RET_SUCCESS   0
 
#define PPI3_RET_GENERAL_FAILURE   1
 
#define PPI4_RET_NONE   0
 
#define PPI4_RET_SHUTDOWN   1
 
#define PPI4_RET_REBOOT   2
 
#define PPI4_RET_OS_VENDOR_SPECIFIC   3
 
#define PPI5_RET_SUCCESS   0
 
#define PPI5_RET_GENERAL_FAILURE   1
 
#define PPI6_RET_NOT_IMPLEMENTED   3
 
#define PPI7_RET_SUCCESS   0
 
#define PPI7_RET_NOT_IMPLEMENTED   1
 
#define PPI7_RET_GENERAL_FAILURE   2
 
#define PPI7_RET_BLOCKED_BY_FIRMWARE   3
 
#define PPI8_RET_NOT_IMPLEMENTED   0
 
#define PPI8_RET_FIRMWARE_ONLY   1
 
#define PPI8_RET_BLOCKED_FOR_OS_BY_FW   2
 
#define PPI8_RET_ALLOWED_WITH_PP   3
 
#define PPI8_RET_ALLOWED   4
 
#define TPM_PPI_UUID   "3dddfaa6-361b-4eb4-a424-8d10089d1653"
 
#define TPM_MCI_UUID   "376054ed-cc13-4675-901c-4756d7f2d45d"
 
#define TPM_NOOP   0
 
#define TPM_ENABLE   1
 
#define TPM_DISABLE   2
 
#define TPM_ACTIVATE   3
 
#define TPM_DEACTIVATE   4
 
#define TPM_CLEAR   5
 
#define TPM_ENABLE_ACTIVATE   6
 
#define TPM_DEACTIVATE_DISABLE   7
 
#define TPM_SETOWNERINSTALL_TRUE   8
 
#define TPM_SETOWNERINSTALL_FALSE   9
 
#define TPM_ENABLE_ACTIVATE_SETOWNERINSTALL_TRUE   10
 
#define TPM_SETOWNERINSTALL_FALSE_DEACTIVATE_DISABLE   11
 
#define TPM_CLEAR_ENABLE_ACTIVATE   14
 
#define TPM_SET_NOPPIPROVISION_FALSE   15
 
#define TPM_SET_NOPPIPROVISION_TRUE   16
 
#define TPM_SET_NOPPICLEAR_FALSE   17
 
#define TPM_SET_NOPPICLEAR_TRUE   18
 
#define TPM_SET_NOPPIMAINTAINANCE_FALSE   19
 
#define TPM_SET_NOPPIMAINTAINANCE_TRUE   20
 
#define TPM_ENABLE_ACTIVE_CLEAR   21
 
#define TPM_ENABLE_ACTIVE_CLEAR_ENABLE_ACTIVE   22
 
#define TPM2_NOOP   0
 
#define TPM2_ENABLE   1
 
#define TPM2_DISABLE   2
 
#define TPM2_CLEAR   5
 
#define TPM2_CLEAR_ENABLE_ACTIVE   14
 
#define TPM2_SET_PP_REQUIRED_FOR_CLEAR_TRUE   17
 
#define TPM2_SET_PP_REQUIRED_FOR_CLEAR_FALSE   18
 
#define TPM2_ENABLE_CLEAR   21
 
#define TPM2_ENABLE_CLEAR2   22
 
#define TPM2_SET_PCR_BANKS   23
 
#define TPM2_CHANGE_EPS   24
 
#define TPM2_SET_PP_REQUIRED_FOR_CHANGE_PCRS_FALSE   25
 
#define TPM2_SET_PP_REQUIRED_FOR_CHANGE_PCRS_TRUE   26
 
#define TPM2_SET_PP_REQUIRED_FOR_TURN_ON_FALSE   27
 
#define TPM2_SET_PP_REQUIRED_FOR_TURN_ON_TRUE   28
 
#define TPM2_SET_PP_REQUIRED_FOR_TURN_OFF_FALSE   29
 
#define TPM2_SET_PP_REQUIRED_FOR_TURN_OFF_TRUE   30
 
#define TPM2_SET_PP_REQUIRED_FOR_CHANGE_EPS_FALSE   31
 
#define TPM2_SET_PP_REQUIRED_FOR_CHANGE_EPS_TRUE   32
 
#define TPM2_LOG_ALL_DIGEST   33
 
#define TPM2_DISABLE_ENDORSMENT_ENABLE_STORAGE_HISTORY   34
 
#define TPM2_ENABLE_BLOCK_SID   96
 
#define TPM2_DISABLE_BLOCK_SID   97
 
#define TPM2_SET_PP_REQUIRED_FOR_ENABLE_BLOCK_SID_TRUE   98
 
#define TPM2_SET_PP_REQUIRED_FOR_ENABLE_BLOCK_SID_FALSE   99
 
#define TPM2_SET_PP_REQUIRED_FOR_DISABLE_BLOCK_SID_TRUE   100
 
#define TPM2_SET_PP_REQUIRED_FOR_DISABLE_BLOCK_SID_FALSE   101
 
#define VENDOR_SPECIFIC_OFFSET   0x80
 

Functions

static void tpm_ppi_acpi_fill_ssdt (const struct device *dev)
 
void lb_tpm_ppi (struct lb_header *header)
 

Variables

struct cb_tpm_ppi_payload_handshake __packed
 

Macro Definition Documentation

◆ PPI2_RET_GENERAL_FAILURE

#define PPI2_RET_GENERAL_FAILURE   2

Definition at line 21 of file tpm_ppi.h.

◆ PPI2_RET_NOT_SUPPORTED

#define PPI2_RET_NOT_SUPPORTED   1

Definition at line 20 of file tpm_ppi.h.

◆ PPI2_RET_SUCCESS

#define PPI2_RET_SUCCESS   0

Definition at line 19 of file tpm_ppi.h.

◆ PPI3_RET_GENERAL_FAILURE

#define PPI3_RET_GENERAL_FAILURE   1

Definition at line 25 of file tpm_ppi.h.

◆ PPI3_RET_SUCCESS

#define PPI3_RET_SUCCESS   0

Definition at line 24 of file tpm_ppi.h.

◆ PPI4_RET_NONE

#define PPI4_RET_NONE   0

Definition at line 28 of file tpm_ppi.h.

◆ PPI4_RET_OS_VENDOR_SPECIFIC

#define PPI4_RET_OS_VENDOR_SPECIFIC   3

Definition at line 31 of file tpm_ppi.h.

◆ PPI4_RET_REBOOT

#define PPI4_RET_REBOOT   2

Definition at line 30 of file tpm_ppi.h.

◆ PPI4_RET_SHUTDOWN

#define PPI4_RET_SHUTDOWN   1

Definition at line 29 of file tpm_ppi.h.

◆ PPI5_RET_GENERAL_FAILURE

#define PPI5_RET_GENERAL_FAILURE   1

Definition at line 35 of file tpm_ppi.h.

◆ PPI5_RET_SUCCESS

#define PPI5_RET_SUCCESS   0

Definition at line 34 of file tpm_ppi.h.

◆ PPI6_RET_NOT_IMPLEMENTED

#define PPI6_RET_NOT_IMPLEMENTED   3

Definition at line 38 of file tpm_ppi.h.

◆ PPI7_RET_BLOCKED_BY_FIRMWARE

#define PPI7_RET_BLOCKED_BY_FIRMWARE   3

Definition at line 44 of file tpm_ppi.h.

◆ PPI7_RET_GENERAL_FAILURE

#define PPI7_RET_GENERAL_FAILURE   2

Definition at line 43 of file tpm_ppi.h.

◆ PPI7_RET_NOT_IMPLEMENTED

#define PPI7_RET_NOT_IMPLEMENTED   1

Definition at line 42 of file tpm_ppi.h.

◆ PPI7_RET_SUCCESS

#define PPI7_RET_SUCCESS   0

Definition at line 41 of file tpm_ppi.h.

◆ PPI8_RET_ALLOWED

#define PPI8_RET_ALLOWED   4

Definition at line 51 of file tpm_ppi.h.

◆ PPI8_RET_ALLOWED_WITH_PP

#define PPI8_RET_ALLOWED_WITH_PP   3

Definition at line 50 of file tpm_ppi.h.

◆ PPI8_RET_BLOCKED_FOR_OS_BY_FW

#define PPI8_RET_BLOCKED_FOR_OS_BY_FW   2

Definition at line 49 of file tpm_ppi.h.

◆ PPI8_RET_FIRMWARE_ONLY

#define PPI8_RET_FIRMWARE_ONLY   1

Definition at line 48 of file tpm_ppi.h.

◆ PPI8_RET_NOT_IMPLEMENTED

#define PPI8_RET_NOT_IMPLEMENTED   0

Definition at line 47 of file tpm_ppi.h.

◆ TPM2_CHANGE_EPS

#define TPM2_CHANGE_EPS   24

Definition at line 98 of file tpm_ppi.h.

◆ TPM2_CLEAR

#define TPM2_CLEAR   5

Definition at line 91 of file tpm_ppi.h.

◆ TPM2_CLEAR_ENABLE_ACTIVE

#define TPM2_CLEAR_ENABLE_ACTIVE   14

Definition at line 92 of file tpm_ppi.h.

◆ TPM2_DISABLE

#define TPM2_DISABLE   2

Definition at line 90 of file tpm_ppi.h.

◆ TPM2_DISABLE_BLOCK_SID

#define TPM2_DISABLE_BLOCK_SID   97

Definition at line 110 of file tpm_ppi.h.

◆ TPM2_DISABLE_ENDORSMENT_ENABLE_STORAGE_HISTORY

#define TPM2_DISABLE_ENDORSMENT_ENABLE_STORAGE_HISTORY   34

Definition at line 108 of file tpm_ppi.h.

◆ TPM2_ENABLE

#define TPM2_ENABLE   1

Definition at line 89 of file tpm_ppi.h.

◆ TPM2_ENABLE_BLOCK_SID

#define TPM2_ENABLE_BLOCK_SID   96

Definition at line 109 of file tpm_ppi.h.

◆ TPM2_ENABLE_CLEAR

#define TPM2_ENABLE_CLEAR   21

Definition at line 95 of file tpm_ppi.h.

◆ TPM2_ENABLE_CLEAR2

#define TPM2_ENABLE_CLEAR2   22

Definition at line 96 of file tpm_ppi.h.

◆ TPM2_LOG_ALL_DIGEST

#define TPM2_LOG_ALL_DIGEST   33

Definition at line 107 of file tpm_ppi.h.

◆ TPM2_NOOP

#define TPM2_NOOP   0

Definition at line 88 of file tpm_ppi.h.

◆ TPM2_SET_PCR_BANKS

#define TPM2_SET_PCR_BANKS   23

Definition at line 97 of file tpm_ppi.h.

◆ TPM2_SET_PP_REQUIRED_FOR_CHANGE_EPS_FALSE

#define TPM2_SET_PP_REQUIRED_FOR_CHANGE_EPS_FALSE   31

Definition at line 105 of file tpm_ppi.h.

◆ TPM2_SET_PP_REQUIRED_FOR_CHANGE_EPS_TRUE

#define TPM2_SET_PP_REQUIRED_FOR_CHANGE_EPS_TRUE   32

Definition at line 106 of file tpm_ppi.h.

◆ TPM2_SET_PP_REQUIRED_FOR_CHANGE_PCRS_FALSE

#define TPM2_SET_PP_REQUIRED_FOR_CHANGE_PCRS_FALSE   25

Definition at line 99 of file tpm_ppi.h.

◆ TPM2_SET_PP_REQUIRED_FOR_CHANGE_PCRS_TRUE

#define TPM2_SET_PP_REQUIRED_FOR_CHANGE_PCRS_TRUE   26

Definition at line 100 of file tpm_ppi.h.

◆ TPM2_SET_PP_REQUIRED_FOR_CLEAR_FALSE

#define TPM2_SET_PP_REQUIRED_FOR_CLEAR_FALSE   18

Definition at line 94 of file tpm_ppi.h.

◆ TPM2_SET_PP_REQUIRED_FOR_CLEAR_TRUE

#define TPM2_SET_PP_REQUIRED_FOR_CLEAR_TRUE   17

Definition at line 93 of file tpm_ppi.h.

◆ TPM2_SET_PP_REQUIRED_FOR_DISABLE_BLOCK_SID_FALSE

#define TPM2_SET_PP_REQUIRED_FOR_DISABLE_BLOCK_SID_FALSE   101

Definition at line 114 of file tpm_ppi.h.

◆ TPM2_SET_PP_REQUIRED_FOR_DISABLE_BLOCK_SID_TRUE

#define TPM2_SET_PP_REQUIRED_FOR_DISABLE_BLOCK_SID_TRUE   100

Definition at line 113 of file tpm_ppi.h.

◆ TPM2_SET_PP_REQUIRED_FOR_ENABLE_BLOCK_SID_FALSE

#define TPM2_SET_PP_REQUIRED_FOR_ENABLE_BLOCK_SID_FALSE   99

Definition at line 112 of file tpm_ppi.h.

◆ TPM2_SET_PP_REQUIRED_FOR_ENABLE_BLOCK_SID_TRUE

#define TPM2_SET_PP_REQUIRED_FOR_ENABLE_BLOCK_SID_TRUE   98

Definition at line 111 of file tpm_ppi.h.

◆ TPM2_SET_PP_REQUIRED_FOR_TURN_OFF_FALSE

#define TPM2_SET_PP_REQUIRED_FOR_TURN_OFF_FALSE   29

Definition at line 103 of file tpm_ppi.h.

◆ TPM2_SET_PP_REQUIRED_FOR_TURN_OFF_TRUE

#define TPM2_SET_PP_REQUIRED_FOR_TURN_OFF_TRUE   30

Definition at line 104 of file tpm_ppi.h.

◆ TPM2_SET_PP_REQUIRED_FOR_TURN_ON_FALSE

#define TPM2_SET_PP_REQUIRED_FOR_TURN_ON_FALSE   27

Definition at line 101 of file tpm_ppi.h.

◆ TPM2_SET_PP_REQUIRED_FOR_TURN_ON_TRUE

#define TPM2_SET_PP_REQUIRED_FOR_TURN_ON_TRUE   28

Definition at line 102 of file tpm_ppi.h.

◆ TPM_ACTIVATE

#define TPM_ACTIVATE   3

Definition at line 65 of file tpm_ppi.h.

◆ TPM_CLEAR

#define TPM_CLEAR   5

Definition at line 67 of file tpm_ppi.h.

◆ TPM_CLEAR_ENABLE_ACTIVATE

#define TPM_CLEAR_ENABLE_ACTIVATE   14

Definition at line 74 of file tpm_ppi.h.

◆ TPM_DEACTIVATE

#define TPM_DEACTIVATE   4

Definition at line 66 of file tpm_ppi.h.

◆ TPM_DEACTIVATE_DISABLE

#define TPM_DEACTIVATE_DISABLE   7

Definition at line 69 of file tpm_ppi.h.

◆ TPM_DISABLE

#define TPM_DISABLE   2

Definition at line 64 of file tpm_ppi.h.

◆ TPM_ENABLE

#define TPM_ENABLE   1

Definition at line 63 of file tpm_ppi.h.

◆ TPM_ENABLE_ACTIVATE

#define TPM_ENABLE_ACTIVATE   6

Definition at line 68 of file tpm_ppi.h.

◆ TPM_ENABLE_ACTIVATE_SETOWNERINSTALL_TRUE

#define TPM_ENABLE_ACTIVATE_SETOWNERINSTALL_TRUE   10

Definition at line 72 of file tpm_ppi.h.

◆ TPM_ENABLE_ACTIVE_CLEAR

#define TPM_ENABLE_ACTIVE_CLEAR   21

Definition at line 81 of file tpm_ppi.h.

◆ TPM_ENABLE_ACTIVE_CLEAR_ENABLE_ACTIVE

#define TPM_ENABLE_ACTIVE_CLEAR_ENABLE_ACTIVE   22

Definition at line 82 of file tpm_ppi.h.

◆ TPM_MCI_UUID

#define TPM_MCI_UUID   "376054ed-cc13-4675-901c-4756d7f2d45d"

Definition at line 56 of file tpm_ppi.h.

◆ TPM_NOOP

#define TPM_NOOP   0

Definition at line 62 of file tpm_ppi.h.

◆ TPM_PPI_UUID

#define TPM_PPI_UUID   "3dddfaa6-361b-4eb4-a424-8d10089d1653"

Definition at line 54 of file tpm_ppi.h.

◆ TPM_SET_NOPPICLEAR_FALSE

#define TPM_SET_NOPPICLEAR_FALSE   17

Definition at line 77 of file tpm_ppi.h.

◆ TPM_SET_NOPPICLEAR_TRUE

#define TPM_SET_NOPPICLEAR_TRUE   18

Definition at line 78 of file tpm_ppi.h.

◆ TPM_SET_NOPPIMAINTAINANCE_FALSE

#define TPM_SET_NOPPIMAINTAINANCE_FALSE   19

Definition at line 79 of file tpm_ppi.h.

◆ TPM_SET_NOPPIMAINTAINANCE_TRUE

#define TPM_SET_NOPPIMAINTAINANCE_TRUE   20

Definition at line 80 of file tpm_ppi.h.

◆ TPM_SET_NOPPIPROVISION_FALSE

#define TPM_SET_NOPPIPROVISION_FALSE   15

Definition at line 75 of file tpm_ppi.h.

◆ TPM_SET_NOPPIPROVISION_TRUE

#define TPM_SET_NOPPIPROVISION_TRUE   16

Definition at line 76 of file tpm_ppi.h.

◆ TPM_SETOWNERINSTALL_FALSE

#define TPM_SETOWNERINSTALL_FALSE   9

Definition at line 71 of file tpm_ppi.h.

◆ TPM_SETOWNERINSTALL_FALSE_DEACTIVATE_DISABLE

#define TPM_SETOWNERINSTALL_FALSE_DEACTIVATE_DISABLE   11

Definition at line 73 of file tpm_ppi.h.

◆ TPM_SETOWNERINSTALL_TRUE

#define TPM_SETOWNERINSTALL_TRUE   8

Definition at line 70 of file tpm_ppi.h.

◆ VENDOR_SPECIFIC_OFFSET

#define VENDOR_SPECIFIC_OFFSET   0x80

Definition at line 116 of file tpm_ppi.h.

Function Documentation

◆ lb_tpm_ppi()

◆ tpm_ppi_acpi_fill_ssdt()

static void tpm_ppi_acpi_fill_ssdt ( const struct device dev)
inlinestatic

Definition at line 12 of file tpm_ppi.h.

Variable Documentation

◆ __packed