qemu/hw/tpm/tpm_int.h
<<
>>
Prefs
   1/*
   2 * TPM configuration
   3 *
   4 * Copyright (C) 2011-2013 IBM Corporation
   5 *
   6 * Authors:
   7 *  Stefan Berger    <stefanb@us.ibm.com>
   8 *
   9 * This work is licensed under the terms of the GNU GPL, version 2 or later.
  10 * See the COPYING file in the top-level directory.
  11 */
  12#ifndef TPM_TPM_INT_H
  13#define TPM_TPM_INT_H
  14
  15#define TPM_STANDARD_CMDLINE_OPTS \
  16    { \
  17        .name = "type", \
  18        .type = QEMU_OPT_STRING, \
  19        .help = "Type of TPM backend", \
  20    }
  21
  22struct tpm_req_hdr {
  23    uint16_t tag;
  24    uint32_t len;
  25    uint32_t ordinal;
  26} QEMU_PACKED;
  27
  28struct tpm_resp_hdr {
  29    uint16_t tag;
  30    uint32_t len;
  31    uint32_t errcode;
  32} QEMU_PACKED;
  33
  34#define TPM_TAG_RQU_COMMAND       0xc1
  35#define TPM_TAG_RQU_AUTH1_COMMAND 0xc2
  36#define TPM_TAG_RQU_AUTH2_COMMAND 0xc3
  37
  38#define TPM_TAG_RSP_COMMAND       0xc4
  39#define TPM_TAG_RSP_AUTH1_COMMAND 0xc5
  40#define TPM_TAG_RSP_AUTH2_COMMAND 0xc6
  41
  42#define TPM_BAD_PARAMETER         3
  43#define TPM_FAIL                  9
  44#define TPM_KEYNOTFOUND           13
  45#define TPM_BAD_PARAM_SIZE        25
  46#define TPM_ENCRYPT_ERROR         32
  47#define TPM_DECRYPT_ERROR         33
  48#define TPM_BAD_KEY_PROPERTY      40
  49#define TPM_BAD_MODE              44
  50#define TPM_BAD_VERSION           46
  51#define TPM_BAD_LOCALITY          61
  52
  53#define TPM_ORD_ContinueSelfTest  0x53
  54#define TPM_ORD_GetTicks          0xf1
  55#define TPM_ORD_GetCapability     0x65
  56
  57#define TPM_CAP_PROPERTY          0x05
  58
  59#define TPM_CAP_PROP_INPUT_BUFFER 0x124
  60
  61/* TPM2 defines */
  62#define TPM2_ST_NO_SESSIONS       0x8001
  63
  64#define TPM2_CC_ReadClock         0x00000181
  65#define TPM2_CC_GetCapability     0x0000017a
  66
  67#define TPM2_CAP_TPM_PROPERTIES   0x6
  68
  69#define TPM2_PT_MAX_COMMAND_SIZE  0x11e
  70
  71#define TPM_RC_INSUFFICIENT       0x9a
  72#define TPM_RC_FAILURE            0x101
  73#define TPM_RC_LOCALITY           0x907
  74
  75#endif /* TPM_TPM_INT_H */
  76