Google is committed to advancing racial equity for Black communities. See how.

fuchsia.tpm

PROTOCOLS

TpmDevice

Defined in fuchsia.tpm/tpm.fidl

ExecuteVendorCommand

Execute a vendor command. Returns ZX_ERR_BUFFER_TOO_SMALL if the TPM responded with data that wouldn't fit in the response buffer.

Request

NameType
command_code uint16
data vector<uint8>[512]

Response

NameType
result TpmDevice_ExecuteVendorCommand_Result

GetDeviceId

Get the TPM's device ID, vendor ID, and revision ID.

Request

<EMPTY>

Response

NameType
result TpmDevice_GetDeviceId_Result

STRUCTS

TpmDevice_ExecuteVendorCommand_Response

Defined in fuchsia.tpm/tpm.fidl

NameTypeDescriptionDefault
result TpmRc No default
data vector<uint8>[512] No default

TpmDevice_GetDeviceId_Response

Defined in fuchsia.tpm/tpm.fidl

NameTypeDescriptionDefault
vendor_id uint16 No default
device_id uint16 No default
revision_id uint8 No default

UNIONS

TpmDevice_ExecuteVendorCommand_Result strict

Defined in fuchsia.tpm/tpm.fidl

NameTypeDescription
response TpmDevice_ExecuteVendorCommand_Response
err zx/status

TpmDevice_GetDeviceId_Result strict

Defined in fuchsia.tpm/tpm.fidl

NameTypeDescription
response TpmDevice_GetDeviceId_Response
err zx/status

CONSTANTS

NameValueTypeDescription
MAX_VENDOR_COMMAND_LEN 512 uint32

Arbitrarily large value which should be enough to handle any vendor commands.

TYPE ALIASES

NameValueDescription
TpmRc uint16

TPM response codes are fairly complex. See Section 6.6, "TPM_RC (Response Codes)" of the "Trusted Platform Module Library Part 2: Structures" for more information on how they should be interpreted. The TPM may return vendor-defined error codes or set various bits in the error to provide more information about the nature of the error.