5.3 TCG Command - Outgoing Operands and Sizes

The TPM will respond to every TCG command with 10 initial bytes that contain information common to all commands:

  • tag (two bytes) — Specifies the authorization session type for the command
  • responseSize (four bytes) — Total number of output bytes including tag and responseSize
  • responseCode (four bytes) — The return code of the operation

Following the 10-byte preamble, the TPM continues to output data until the total number of data bytes reaches responseSize. Depending on the command, zero bytes of data are possible. After output of the final data byte and the host writing Command_Ready to a one, the TPM enters an Idle state until the next valid SPI command sequence is initiated by the host.

Table 5-2. Response Data Read from the TPM
tag[0]tag[1]

responseSize[0]responseSize[1]responseSize[2]responseSize[3]

responseCode[0]responseCode[1]responseCode[2]responseCode[3]

data[0]data[1]... ...

data[responseSize-3] data[responseSize-2] data[responseSize-1]data[responseSize]