1 /********************************************************************************/ 2 /* */ 3 /* Command Attributes Table for TPM 1.2 */ 4 /* Written by Ken Goldman */ 5 /* IBM Thomas J. Watson Research Center */ 6 /* */ 7 /* Licenses and Notices */ 8 /* */ 9 /* 1. Copyright Licenses: */ 10 /* */ 11 /* - Trusted Computing Group (TCG) grants to the user of the source code in */ 12 /* this specification (the "Source Code") a worldwide, irrevocable, */ 13 /* nonexclusive, royalty free, copyright license to reproduce, create */ 14 /* derivative works, distribute, display and perform the Source Code and */ 15 /* derivative works thereof, and to grant others the rights granted herein. */ 16 /* */ 17 /* - The TCG grants to the user of the other parts of the specification */ 18 /* (other than the Source Code) the rights to reproduce, distribute, */ 19 /* display, and perform the specification solely for the purpose of */ 20 /* developing products based on such documents. */ 21 /* */ 22 /* 2. Source Code Distribution Conditions: */ 23 /* */ 24 /* - Redistributions of Source Code must retain the above copyright licenses, */ 25 /* this list of conditions and the following disclaimers. */ 26 /* */ 27 /* - Redistributions in binary form must reproduce the above copyright */ 28 /* licenses, this list of conditions and the following disclaimers in the */ 29 /* documentation and/or other materials provided with the distribution. */ 30 /* */ 31 /* 3. Disclaimers: */ 32 /* */ 33 /* - THE COPYRIGHT LICENSES SET FORTH ABOVE DO NOT REPRESENT ANY FORM OF */ 34 /* LICENSE OR WAIVER, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, WITH */ 35 /* RESPECT TO PATENT RIGHTS HELD BY TCG MEMBERS (OR OTHER THIRD PARTIES) */ 36 /* THAT MAY BE NECESSARY TO IMPLEMENT THIS SPECIFICATION OR OTHERWISE. */ 37 /* Contact TCG Administration (admin@trustedcomputinggroup.org) for */ 38 /* information on specification licensing rights available through TCG */ 39 /* membership agreements. */ 40 /* */ 41 /* - THIS SPECIFICATION IS PROVIDED "AS IS" WITH NO EXPRESS OR IMPLIED */ 42 /* WARRANTIES WHATSOEVER, INCLUDING ANY WARRANTY OF MERCHANTABILITY OR */ 43 /* FITNESS FOR A PARTICULAR PURPOSE, ACCURACY, COMPLETENESS, OR */ 44 /* NONINFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS, OR ANY WARRANTY */ 45 /* OTHERWISE ARISING OUT OF ANY PROPOSAL, SPECIFICATION OR SAMPLE. */ 46 /* */ 47 /* - Without limitation, TCG and its members and licensors disclaim all */ 48 /* liability, including liability for infringement of any proprietary */ 49 /* rights, relating to use of information in this specification and to the */ 50 /* implementation of this specification, and TCG disclaims all liability for */ 51 /* cost of procurement of substitute goods or services, lost profits, loss */ 52 /* of use, loss of data or any incidental, consequential, direct, indirect, */ 53 /* or special damages, whether under contract, tort, warranty or otherwise, */ 54 /* arising in any way out of use or reliance upon this specification or any */ 55 /* information herein. */ 56 /* */ 57 /* (c) Copyright IBM Corp. and others, 2018 - 2019 */ 58 /* */ 59 /********************************************************************************/ 60 61 62 #include <ibmtss/tpmconstants12.h> 63 64 #include "CommandAttributes.h" 65 #if defined COMPRESSED_LISTS 66 # define PAD_LIST 0 67 #else 68 # define PAD_LIST 1 69 #endif 70 71 // This is the command code attribute array for GetCapability(). Both this array and 72 // s_commandAttributes provides command code attributes, but tuned for different purpose 73 74 /* bitfield is: 75 76 command index 77 reserved 78 nv 79 extensive 80 flushed 81 cHandles not included in HMAC 82 rHandle not included in HMAC 83 V 84 reserved, flags TPM 1.2 command 85 */ 86 87 #include "tssccattributes.h" 88 const TPMA_CC_TSS s_ccAttr12 [] = { 89 90 /* R N E F C R V R */ 91 92 {{TPM_ORD_ActivateIdentity, 0, 0, 0, 0, 1, 0, 0, 1}}, 93 {{TPM_ORD_ContinueSelfTest, 0, 0, 0, 0, 0, 0, 0, 1}}, 94 {{TPM_ORD_CreateEndorsementKeyPair, 0, 1, 0, 0, 0, 0, 0, 1}}, 95 {{TPM_ORD_CreateWrapKey, 0, 0, 0, 0, 1, 0, 0, 1}}, 96 {{TPM_ORD_Extend, 0, 0, 0, 0, 1, 0, 0, 1}}, 97 {{TPM_ORD_FlushSpecific, 0, 0, 0, 0, 1, 0, 0, 1}}, 98 {{TPM_ORD_GetCapability, 0, 0, 0, 0, 0, 0, 0, 1}}, 99 {{TPM_ORD_LoadKey2, 0, 0, 0, 0, 1, 1, 0, 1}}, 100 {{TPM_ORD_MakeIdentity, 0, 0, 0, 0, 0, 0, 0, 1}}, 101 {{TPM_ORD_NV_DefineSpace, 1, 1, 0, 0, 0, 0, 0, 1}}, 102 {{TPM_ORD_NV_ReadValueAuth, 1, 0, 0, 0, 0, 0, 0, 1}}, 103 {{TPM_ORD_NV_ReadValue, 1, 0, 0, 0, 0, 0, 0, 1}}, 104 {{TPM_ORD_NV_WriteValue, 1, 1, 0, 0, 0, 0, 0, 1}}, 105 {{TPM_ORD_NV_WriteValueAuth, 1, 1, 0, 0, 0, 0, 0, 1}}, 106 {{TPM_ORD_OIAP, 0, 0, 0, 0, 0, 0, 0, 1}}, 107 {{TPM_ORD_OSAP, 0, 0, 0, 0, 0, 0, 0, 1}}, 108 {{TPM_ORD_OwnerReadInternalPub, 0, 0, 0, 0, 0, 0, 0, 1}}, 109 {{TPM_ORD_OwnerSetDisable, 0, 1, 0, 0, 0, 0, 0, 1}}, 110 {{TPM_ORD_PcrRead, 0, 0, 0, 0, 1, 0, 0, 1}}, 111 {{TPM_ORD_PCR_Reset, 0, 0, 0, 0, 0, 0, 0, 1}}, 112 {{TPM_ORD_ReadPubek, 0, 0, 0, 0, 0, 0, 0, 1}}, 113 {{TPM_ORD_Quote2, 0, 0, 0, 0, 1, 0, 0, 1}}, 114 {{TPM_ORD_Sign, 0, 0, 0, 0, 1, 0, 0, 1}}, 115 {{TPM_ORD_Startup, 0, 1, 0, 0, 0, 0, 0, 1}}, 116 {{TPM_ORD_TakeOwnership, 0, 0, 0, 0, 0, 0, 0, 1}}, 117 {{TPM_ORD_Init, 0, 0, 0, 0, 0, 0, 0, 1}}, 118 119 {{0x0000, 0, 0, 0, 0, 0, 0, 0, 0}}, // kg - terminator? 120 }; 121 122