aboutsummaryrefslogtreecommitdiffstats
path: root/roms/skiboot/libstb/tss2/ibmtpm20tss/utils/ibmtss/tsserror12.h
diff options
context:
space:
mode:
Diffstat (limited to 'roms/skiboot/libstb/tss2/ibmtpm20tss/utils/ibmtss/tsserror12.h')
-rw-r--r--roms/skiboot/libstb/tss2/ibmtpm20tss/utils/ibmtss/tsserror12.h248
1 files changed, 248 insertions, 0 deletions
diff --git a/roms/skiboot/libstb/tss2/ibmtpm20tss/utils/ibmtss/tsserror12.h b/roms/skiboot/libstb/tss2/ibmtpm20tss/utils/ibmtss/tsserror12.h
new file mode 100644
index 000000000..46d2e3f67
--- /dev/null
+++ b/roms/skiboot/libstb/tss2/ibmtpm20tss/utils/ibmtss/tsserror12.h
@@ -0,0 +1,248 @@
+/********************************************************************************/
+/* */
+/* TPM 1.2 Error Response */
+/* Written by Ken Goldman */
+/* IBM Thomas J. Watson Research Center */
+/* */
+/* (c) Copyright IBM Corporation 2006, 2010. */
+/* */
+/* All rights reserved. */
+/* */
+/* Redistribution and use in source and binary forms, with or without */
+/* modification, are permitted provided that the following conditions are */
+/* met: */
+/* */
+/* Redistributions of source code must retain the above copyright notice, */
+/* this list of conditions and the following disclaimer. */
+/* */
+/* Redistributions in binary form must reproduce the above copyright */
+/* notice, this list of conditions and the following disclaimer in the */
+/* documentation and/or other materials provided with the distribution. */
+/* */
+/* Neither the names of the IBM Corporation nor the names of its */
+/* contributors may be used to endorse or promote products derived from */
+/* this software without specific prior written permission. */
+/* */
+/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */
+/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
+/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR */
+/* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */
+/* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */
+/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
+/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, */
+/* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY */
+/* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */
+/* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE */
+/* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
+/********************************************************************************/
+
+#ifndef TPM_ERROR_H
+#define TPM_ERROR_H
+
+/* 16. Return codes rev 99
+
+ The TPM has five types of return code. One indicates successful operation and four indicate
+ failure. TPM_SUCCESS (00000000) indicates successful execution. The failure reports are:
+ TPM defined fatal errors (00000001 to 000003FF), vendor defined fatal errors (00000400 to
+ 000007FF), TPM defined non-fatal errors (00000800 to 00000BFF), and vendor defined
+ non-fatal errors (00000C00 to 00000FFF).
+
+ The range of vendor defined non-fatal errors was determined by the TSS-WG, which defined
+ XXXX YCCC with XXXX as OS specific and Y defining the TSS SW stack layer (0: TPM layer)
+
+ All failure cases return only a non-authenticated fixed set of information. This is because
+ the failure may have been due to authentication or other factors, and there is no possibility
+ of producing an authenticated response.
+
+ Fatal errors also terminate any authorization sessions. This is a result of returning only the
+ error code, as there is no way to return the nonces necessary to maintain an authorization
+ session. Non-fatal errors do not terminate authorization sessions.
+
+ The return code MUST use the following base. The return code MAY be TCG defined or vendor
+ defined. */
+
+#define TPM_BASE 0x0 /* The start of TPM return codes */
+#define TPM_SUCCESS TPM_BASE /* Successful completion of the operation */
+#define TPM_VENDOR_ERROR TPM_Vendor_Specific32 /* Mask to indicate that the error code is
+ vendor specific for vendor specific
+ commands. */
+#define TPM_NON_FATAL 0x00000800 /* Mask to indicate that the error code is a non-fatal
+ failure. */
+
+/* TPM-defined fatal error codes */
+
+#define TPM_AUTHFAIL TPM_BASE + 1 /* Authentication failed */
+#define TPM_BADINDEX TPM_BASE + 2 /* The index to a PCR, DIR or other register is
+ incorrect */
+#define TPM_BAD_PARAMETER TPM_BASE + 3 /* One or more parameter is bad */
+#define TPM_AUDITFAILURE TPM_BASE + 4 /* An operation completed successfully but the auditing
+ of that operation failed. */
+#define TPM_CLEAR_DISABLED TPM_BASE + 5 /* The clear disable flag is set and all clear
+ operations now require physical access */
+#define TPM_DEACTIVATED TPM_BASE + 6 /* The TPM is deactivated */
+#define TPM_DISABLED TPM_BASE + 7 /* The TPM is disabled */
+#define TPM_DISABLED_CMD TPM_BASE + 8 /* The target command has been disabled */
+#define TPM_FAIL TPM_BASE + 9 /* The operation failed */
+#define TPM_BAD_ORDINAL TPM_BASE + 10 /* The ordinal was unknown or inconsistent */
+#define TPM_INSTALL_DISABLED TPM_BASE + 11 /* The ability to install an owner is disabled */
+#define TPM_INVALID_KEYHANDLE TPM_BASE + 12 /* The key handle presented was invalid */
+#define TPM_KEYNOTFOUND TPM_BASE + 13 /* The target key was not found */
+#define TPM_INAPPROPRIATE_ENC TPM_BASE + 14 /* Unacceptable encryption scheme */
+#define TPM_MIGRATEFAIL TPM_BASE + 15 /* Migration authorization failed */
+#define TPM_INVALID_PCR_INFO TPM_BASE + 16 /* PCR information could not be interpreted */
+#define TPM_NOSPACE TPM_BASE + 17 /* No room to load key. */
+#define TPM_NOSRK TPM_BASE + 18 /* There is no SRK set */
+#define TPM_NOTSEALED_BLOB TPM_BASE + 19 /* An encrypted blob is invalid or was not created by
+ this TPM */
+#define TPM_OWNER_SET TPM_BASE + 20 /* There is already an Owner */
+#define TPM_RESOURCES TPM_BASE + 21 /* The TPM has insufficient internal resources to
+ perform the requested action. */
+#define TPM_SHORTRANDOM TPM_BASE + 22 /* A random string was too short */
+#define TPM_SIZE TPM_BASE + 23 /* The TPM does not have the space to perform the
+ operation. */
+#define TPM_WRONGPCRVAL TPM_BASE + 24 /* The named PCR value does not match the current PCR
+ value. */
+#define TPM_BAD_PARAM_SIZE TPM_BASE + 25 /* The paramSize argument to the command has the
+ incorrect value */
+#define TPM_SHA_THREAD TPM_BASE + 26 /* There is no existing SHA-1 thread. */
+#define TPM_SHA_ERROR TPM_BASE + 27 /* The calculation is unable to proceed because the
+ existing SHA-1 thread has already encountered an
+ error. */
+#define TPM_FAILEDSELFTEST TPM_BASE + 28 /* Self-test has failed and the TPM has shutdown. */
+#define TPM_AUTH2FAIL TPM_BASE + 29 /* The authorization for the second key in a 2 key
+ function failed authorization */
+#define TPM_BADTAG TPM_BASE + 30 /* The tag value sent to for a command is invalid */
+#define TPM_IOERROR TPM_BASE + 31 /* An IO error occurred transmitting information to
+ the TPM */
+#define TPM_ENCRYPT_ERROR TPM_BASE + 32 /* The encryption process had a problem. */
+#define TPM_DECRYPT_ERROR TPM_BASE + 33 /* The decryption process did not complete. */
+#define TPM_INVALID_AUTHHANDLE TPM_BASE + 34 /* An invalid handle was used. */
+#define TPM_NO_ENDORSEMENT TPM_BASE + 35 /* The TPM does not a EK installed */
+#define TPM_INVALID_KEYUSAGE TPM_BASE + 36 /* The usage of a key is not allowed */
+#define TPM_WRONG_ENTITYTYPE TPM_BASE + 37 /* The submitted entity type is not allowed */
+#define TPM_INVALID_POSTINIT TPM_BASE + 38 /* The command was received in the wrong sequence
+ relative to TPM_Init and a subsequent TPM_Startup
+ */
+#define TPM_INAPPROPRIATE_SIG TPM_BASE + 39 /* Signed data cannot include additional DER
+ information */
+#define TPM_BAD_KEY_PROPERTY TPM_BASE + 40 /* The key properties in TPM_KEY_PARMs are not
+ supported by this TPM */
+#define TPM_BAD_MIGRATION TPM_BASE + 41 /* The migration properties of this key are incorrect.
+ */
+#define TPM_BAD_SCHEME TPM_BASE + 42 /* The signature or encryption scheme for this key is
+ incorrect or not permitted in this situation. */
+#define TPM_BAD_DATASIZE TPM_BASE + 43 /* The size of the data (or blob) parameter is bad or
+ inconsistent with the referenced key */
+#define TPM_BAD_MODE TPM_BASE + 44 /* A mode parameter is bad, such as capArea or
+ subCapArea for TPM_GetCapability, physicalPresence
+ parameter for TPM_PhysicalPresence, or
+ migrationType for TPM_CreateMigrationBlob. */
+#define TPM_BAD_PRESENCE TPM_BASE + 45 /* Either the physicalPresence or physicalPresenceLock
+ bits have the wrong value */
+#define TPM_BAD_VERSION TPM_BASE + 46 /* The TPM cannot perform this version of the
+ capability */
+#define TPM_NO_WRAP_TRANSPORT TPM_BASE + 47 /* The TPM does not allow for wrapped transport
+ sessions */
+#define TPM_AUDITFAIL_UNSUCCESSFUL TPM_BASE + 48 /* TPM audit construction failed and the
+ underlying command was returning a failure
+ code also */
+#define TPM_AUDITFAIL_SUCCESSFUL TPM_BASE + 49 /* TPM audit construction failed and the underlying
+ command was returning success */
+#define TPM_NOTRESETABLE TPM_BASE + 50 /* Attempt to reset a PCR register that does not have
+ the resettable attribute */
+#define TPM_NOTLOCAL TPM_BASE + 51 /* Attempt to reset a PCR register that requires
+ locality and locality modifier not part of command
+ transport */
+#define TPM_BAD_TYPE TPM_BASE + 52 /* Make identity blob not properly typed */
+#define TPM_INVALID_RESOURCE TPM_BASE + 53 /* When saving context identified resource type does
+ not match actual resource */
+#define TPM_NOTFIPS TPM_BASE + 54 /* The TPM is attempting to execute a command only
+ available when in FIPS mode */
+#define TPM_INVALID_FAMILY TPM_BASE + 55 /* The command is attempting to use an invalid family
+ ID */
+#define TPM_NO_NV_PERMISSION TPM_BASE + 56 /* The permission to manipulate the NV storage is not
+ available */
+#define TPM_REQUIRES_SIGN TPM_BASE + 57 /* The operation requires a signed command */
+#define TPM_KEY_NOTSUPPORTED TPM_BASE + 58 /* Wrong operation to load an NV key */
+#define TPM_AUTH_CONFLICT TPM_BASE + 59 /* NV_LoadKey blob requires both owner and blob
+ authorization */
+#define TPM_AREA_LOCKED TPM_BASE + 60 /* The NV area is locked and not writable */
+#define TPM_BAD_LOCALITY TPM_BASE + 61 /* The locality is incorrect for the attempted
+ operation */
+#define TPM_READ_ONLY TPM_BASE + 62 /* The NV area is read only and can't be written to
+ */
+#define TPM_PER_NOWRITE TPM_BASE + 63 /* There is no protection on the write to the NV area
+ */
+#define TPM_FAMILYCOUNT TPM_BASE + 64 /* The family count value does not match */
+#define TPM_WRITE_LOCKED TPM_BASE + 65 /* The NV area has already been written to */
+#define TPM_BAD_ATTRIBUTES TPM_BASE + 66 /* The NV area attributes conflict */
+#define TPM_INVALID_STRUCTURE TPM_BASE + 67 /* The structure tag and version are invalid or
+ inconsistent */
+#define TPM_KEY_OWNER_CONTROL TPM_BASE + 68 /* The key is under control of the TPM Owner and can
+ only be evicted by the TPM Owner. */
+#define TPM_BAD_COUNTER TPM_BASE + 69 /* The counter handle is incorrect */
+#define TPM_NOT_FULLWRITE TPM_BASE + 70 /* The write is not a complete write of the area */
+#define TPM_CONTEXT_GAP TPM_BASE + 71 /* The gap between saved context counts is too large
+ */
+#define TPM_MAXNVWRITES TPM_BASE + 72 /* The maximum number of NV writes without an owner
+ has been exceeded */
+#define TPM_NOOPERATOR TPM_BASE + 73 /* No operator authorization value is set */
+#define TPM_RESOURCEMISSING TPM_BASE + 74 /* The resource pointed to by context is not loaded
+ */
+#define TPM_DELEGATE_LOCK TPM_BASE + 75 /* The delegate administration is locked */
+#define TPM_DELEGATE_FAMILY TPM_BASE + 76 /* Attempt to manage a family other then the delegated
+ family */
+#define TPM_DELEGATE_ADMIN TPM_BASE + 77 /* Delegation table management not enabled */
+#define TPM_TRANSPORT_NOTEXCLUSIVE TPM_BASE + 78 /* There was a command executed outside of an
+ exclusive transport session */
+#define TPM_OWNER_CONTROL TPM_BASE + 79 /* Attempt to context save a owner evict controlled
+ key */
+#define TPM_DAA_RESOURCES TPM_BASE + 80 /* The DAA command has no resources available to
+ execute the command */
+#define TPM_DAA_INPUT_DATA0 TPM_BASE + 81 /* The consistency check on DAA parameter inputData0
+ has failed. */
+#define TPM_DAA_INPUT_DATA1 TPM_BASE + 82 /* The consistency check on DAA parameter inputData1
+ has failed. */
+#define TPM_DAA_ISSUER_SETTINGS TPM_BASE + 83 /* The consistency check on DAA_issuerSettings has
+ failed. */
+#define TPM_DAA_TPM_SETTINGS TPM_BASE + 84 /* The consistency check on DAA_tpmSpecific has
+ failed. */
+#define TPM_DAA_STAGE TPM_BASE + 85 /* The atomic process indicated by the submitted DAA
+ command is not the expected process. */
+#define TPM_DAA_ISSUER_VALIDITY TPM_BASE + 86 /* The issuer's validity check has detected an
+ inconsistency */
+#define TPM_DAA_WRONG_W TPM_BASE + 87 /* The consistency check on w has failed. */
+#define TPM_BAD_HANDLE TPM_BASE + 88 /* The handle is incorrect */
+#define TPM_BAD_DELEGATE TPM_BASE + 89 /* Delegation is not correct */
+#define TPM_BADCONTEXT TPM_BASE + 90 /* The context blob is invalid */
+#define TPM_TOOMANYCONTEXTS TPM_BASE + 91 /* Too many contexts held by the TPM */
+#define TPM_MA_TICKET_SIGNATURE TPM_BASE + 92 /* Migration authority signature validation failure
+ */
+#define TPM_MA_DESTINATION TPM_BASE + 93 /* Migration destination not authenticated */
+#define TPM_MA_SOURCE TPM_BASE + 94 /* Migration source incorrect */
+#define TPM_MA_AUTHORITY TPM_BASE + 95 /* Incorrect migration authority */
+#define TPM_PERMANENTEK TPM_BASE + 97 /* Attempt to revoke the EK and the EK is not revocable */
+#define TPM_BAD_SIGNATURE TPM_BASE + 98 /* Bad signature of CMK ticket */
+#define TPM_NOCONTEXTSPACE TPM_BASE + 99 /* There is no room in the context list for additional
+ contexts */
+
+/* As error codes are added here, they should also be added to lib/miscfunc.c */
+
+/* TPM-defined non-fatal errors */
+
+#define TPM_RETRY TPM_BASE + TPM_NON_FATAL /* The TPM is too busy to respond to the
+ command immediately, but the command
+ could be submitted at a later time */
+#define TPM_NEEDS_SELFTEST TPM_BASE + TPM_NON_FATAL + 1 /* TPM_ContinueSelfTest has has not
+ been run*/
+#define TPM_DOING_SELFTEST TPM_BASE + TPM_NON_FATAL + 2 /* The TPM is currently executing the
+ actions of TPM_ContinueSelfTest
+ because the ordinal required
+ resources that have not been
+ tested. */
+#define TPM_DEFEND_LOCK_RUNNING TPM_BASE + TPM_NON_FATAL + 3
+ /* The TPM is defending against dictionary
+ attacks and is in some time-out
+ period. */
+
+#endif