2
0

tpm_int.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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. #define TPM_STANDARD_CMDLINE_OPTS \
  15. { \
  16. .name = "type", \
  17. .type = QEMU_OPT_STRING, \
  18. .help = "Type of TPM backend", \
  19. }
  20. struct tpm_req_hdr {
  21. uint16_t tag;
  22. uint32_t len;
  23. uint32_t ordinal;
  24. } QEMU_PACKED;
  25. struct tpm_resp_hdr {
  26. uint16_t tag;
  27. uint32_t len;
  28. uint32_t errcode;
  29. } QEMU_PACKED;
  30. #define TPM_TAG_RQU_COMMAND 0xc1
  31. #define TPM_TAG_RQU_AUTH1_COMMAND 0xc2
  32. #define TPM_TAG_RQU_AUTH2_COMMAND 0xc3
  33. #define TPM_TAG_RSP_COMMAND 0xc4
  34. #define TPM_TAG_RSP_AUTH1_COMMAND 0xc5
  35. #define TPM_TAG_RSP_AUTH2_COMMAND 0xc6
  36. #define TPM_BAD_PARAMETER 3
  37. #define TPM_FAIL 9
  38. #define TPM_KEYNOTFOUND 13
  39. #define TPM_BAD_PARAM_SIZE 25
  40. #define TPM_ENCRYPT_ERROR 32
  41. #define TPM_DECRYPT_ERROR 33
  42. #define TPM_BAD_KEY_PROPERTY 40
  43. #define TPM_BAD_MODE 44
  44. #define TPM_BAD_VERSION 46
  45. #define TPM_BAD_LOCALITY 61
  46. #define TPM_ORD_ContinueSelfTest 0x53
  47. #define TPM_ORD_GetTicks 0xf1
  48. #define TPM_ORD_GetCapability 0x65
  49. #define TPM_CAP_PROPERTY 0x05
  50. #define TPM_CAP_PROP_INPUT_BUFFER 0x124
  51. /* TPM2 defines */
  52. #define TPM2_ST_NO_SESSIONS 0x8001
  53. #define TPM2_CC_ReadClock 0x00000181
  54. #define TPM2_CC_GetCapability 0x0000017a
  55. #define TPM2_CAP_TPM_PROPERTIES 0x6
  56. #define TPM2_PT_MAX_COMMAND_SIZE 0x11e
  57. #define TPM_RC_INSUFFICIENT 0x9a
  58. #define TPM_RC_FAILURE 0x101
  59. #define TPM_RC_LOCALITY 0x907
  60. #endif /* TPM_TPM_INT_H */