1 /*
2  * The TPM error codes extracted from the TPM main specification
3  * version 1.2 revision 85.
4  */
5 
6 #ifndef __TPM_ERROR_H__
7 #define __TPM_ERROR_H__
8 
9 
10 #ifndef TPM_E_BASE
11 #define TPM_E_BASE        ((UINT32)0)
12 #endif
13 
14 #ifndef TPM_E_NON_FATAL
15 #define TPM_E_NON_FATAL   ((UINT32)0x00000800)
16 #endif
17 
18 
19 // Successful completion of the TPM operation.
20 #define TPM_SUCCESS    TPM_E_BASE
21 
22 //
23 // MessageId: TPM_E_AUTHFAIL
24 //
25 // MessageText:
26 //
27 // Authentication failed
28 //
29 #define TPM_E_AUTHFAIL ((UINT32)(TPM_E_BASE + 0x00000001))
30 
31 //
32 // MessageId: TPM_E_BADINDEX
33 //
34 // MessageText:
35 //
36 // The index to a PCR, DIR or other register is incorrect
37 //
38 #define TPM_E_BADINDEX ((UINT32)(TPM_E_BASE + 0x00000002))
39 
40 //
41 // MessageId: TPM_E_BAD_PARAMETER
42 //
43 // MessageText:
44 //
45 // One or more parameter is bad
46 //
47 #define TPM_E_BAD_PARAMETER ((UINT32)(TPM_E_BASE + 0x00000003))
48 
49 //
50 // MessageId: TPM_E_AUDITFAILURE
51 //
52 // MessageText:
53 //
54 // An operation completed successfully but the auditing of that
55 // operation failed.
56 //
57 #define TPM_E_AUDITFAILURE ((UINT32)(TPM_E_BASE + 0x00000004))
58 
59 //
60 // MessageId: TPM_E_CLEAR_DISABLED
61 //
62 // MessageText:
63 //
64 // The clear disable flag is set and all clear operations now require
65 // physical access
66 //
67 #define TPM_E_CLEAR_DISABLED ((UINT32)(TPM_E_BASE + 0x00000005))
68 
69 //
70 // MessageId: TPM_E_DEACTIVATED
71 //
72 // MessageText:
73 //
74 // The TPM is deactivated
75 //
76 #define TPM_E_DEACTIVATED ((UINT32)(TPM_E_BASE + 0x00000006))
77 
78 //
79 // MessageId: TPM_E_DISABLED
80 //
81 // MessageText:
82 //
83 // The TPM is disabled
84 //
85 #define TPM_E_DISABLED ((UINT32)(TPM_E_BASE + 0x00000007))
86 
87 //
88 // MessageId: TPM_E_DISABLED_CMD
89 //
90 // MessageText:
91 //
92 // The target command has been disabled
93 //
94 #define TPM_E_DISABLED_CMD ((UINT32)(TPM_E_BASE + 0x00000008))
95 
96 //
97 // MessageId: TPM_E_FAIL
98 //
99 // MessageText:
100 //
101 // The operation failed
102 //
103 #define TPM_E_FAIL ((UINT32)(TPM_E_BASE + 0x00000009))
104 
105 //
106 // MessageId: TPM_E_BAD_ORDINAL
107 //
108 // MessageText:
109 //
110 // The ordinal was unknown or inconsistent
111 //
112 #define TPM_E_BAD_ORDINAL ((UINT32)(TPM_E_BASE + 0x0000000a))
113 
114 //
115 // MessageId: TPM_E_INSTALL_DISABLED
116 //
117 // MessageText:
118 //
119 // The ability to install an owner is disabled
120 //
121 #define TPM_E_INSTALL_DISABLED ((UINT32)(TPM_E_BASE + 0x0000000b))
122 
123 //
124 // MessageId: TPM_E_INVALID_KEYHANDLE
125 //
126 // MessageText:
127 //
128 // The key handle can not be interpreted
129 //
130 #define TPM_E_INVALID_KEYHANDLE ((UINT32)(TPM_E_BASE + 0x0000000c))
131 
132 //
133 // MessageId: TPM_E_KEYNOTFOUND
134 //
135 // MessageText:
136 //
137 // The key handle points to an invalid key
138 //
139 #define TPM_E_KEYNOTFOUND ((UINT32)(TPM_E_BASE + 0x0000000d))
140 
141 //
142 // MessageId: TPM_E_INAPPROPRIATE_ENC
143 //
144 // MessageText:
145 //
146 // Unacceptable encryption scheme
147 //
148 #define TPM_E_INAPPROPRIATE_ENC ((UINT32)(TPM_E_BASE + 0x0000000e))
149 
150 //
151 // MessageId: TPM_E_MIGRATEFAIL
152 //
153 // MessageText:
154 //
155 // Migration authorization failed
156 //
157 #define TPM_E_MIGRATEFAIL ((UINT32)(TPM_E_BASE + 0x0000000f))
158 
159 //
160 // MessageId: TPM_E_INVALID_PCR_INFO
161 //
162 // MessageText:
163 //
164 // PCR information could not be interpreted
165 //
166 #define TPM_E_INVALID_PCR_INFO ((UINT32)(TPM_E_BASE + 0x00000010))
167 
168 //
169 // MessageId: TPM_E_NOSPACE
170 //
171 // MessageText:
172 //
173 // No room to load key.
174 //
175 #define TPM_E_NOSPACE ((UINT32)(TPM_E_BASE + 0x00000011))
176 
177 //
178 // MessageId: TPM_E_NOSRK
179 //
180 // MessageText:
181 //
182 // There is no SRK set
183 //
184 #define TPM_E_NOSRK ((UINT32)(TPM_E_BASE + 0x00000012))
185 
186 //
187 // MessageId: TPM_E_NOTSEALED_BLOB
188 //
189 // MessageText:
190 //
191 // An encrypted blob is invalid or was not created by this TPM
192 //
193 #define TPM_E_NOTSEALED_BLOB ((UINT32)(TPM_E_BASE + 0x00000013))
194 
195 //
196 // MessageId: TPM_E_OWNER_SET
197 //
198 // MessageText:
199 //
200 // There is already an Owner
201 //
202 #define TPM_E_OWNER_SET ((UINT32)(TPM_E_BASE + 0x00000014))
203 
204 //
205 // MessageId: TPM_E_RESOURCES
206 //
207 // MessageText:
208 //
209 // The TPM has insufficient internal resources to perform the
210 // requested action.
211 //
212 #define TPM_E_RESOURCES ((UINT32)(TPM_E_BASE + 0x00000015))
213 
214 //
215 // MessageId: TPM_E_SHORTRANDOM
216 //
217 // MessageText:
218 //
219 // A random string was too short
220 //
221 #define TPM_E_SHORTRANDOM ((UINT32)(TPM_E_BASE + 0x00000016))
222 
223 //
224 // MessageId: TPM_E_SIZE
225 //
226 // MessageText:
227 //
228 // The TPM does not have the space to perform the operation.
229 //
230 #define TPM_E_SIZE ((UINT32)(TPM_E_BASE + 0x00000017))
231 
232 //
233 // MessageId: TPM_E_WRONGPCRVAL
234 //
235 // MessageText:
236 //
237 // The named PCR value does not match the current PCR value.
238 //
239 #define TPM_E_WRONGPCRVAL ((UINT32)(TPM_E_BASE + 0x00000018))
240 
241 //
242 // MessageId: TPM_E_BAD_PARAM_SIZE
243 //
244 // MessageText:
245 //
246 // The paramSize argument to the command has the incorrect value
247 //
248 #define TPM_E_BAD_PARAM_SIZE ((UINT32)(TPM_E_BASE + 0x00000019))
249 
250 //
251 // MessageId: TPM_E_SHA_THREAD
252 //
253 // MessageText:
254 //
255 // There is no existing SHA-1 thread.
256 //
257 #define TPM_E_SHA_THREAD ((UINT32)(TPM_E_BASE + 0x0000001a))
258 
259 //
260 // MessageId: TPM_E_SHA_ERROR
261 //
262 // MessageText:
263 //
264 // The calculation is unable to proceed because the existing SHA-1
265 // thread has already encountered an error.
266 //
267 #define TPM_E_SHA_ERROR ((UINT32)(TPM_E_BASE + 0x0000001b))
268 
269 //
270 // MessageId: TPM_E_FAILEDSELFTEST
271 //
272 // MessageText:
273 //
274 // Self-test has failed and the TPM has shutdown.
275 //
276 #define TPM_E_FAILEDSELFTEST ((UINT32)(TPM_E_BASE + 0x0000001c))
277 
278 //
279 // MessageId: TPM_E_AUTH2FAIL
280 //
281 // MessageText:
282 //
283 // The authorization for the second key in a 2 key function failed
284 // authorization
285 //
286 #define TPM_E_AUTH2FAIL ((UINT32)(TPM_E_BASE + 0x0000001d))
287 
288 //
289 // MessageId: TPM_E_BADTAG
290 //
291 // MessageText:
292 //
293 // The tag value sent to for a command is invalid
294 //
295 #define TPM_E_BADTAG ((UINT32)(TPM_E_BASE + 0x0000001e))
296 
297 //
298 // MessageId: TPM_E_IOERROR
299 //
300 // MessageText:
301 //
302 // An IO error occurred transmitting information to the TPM
303 //
304 #define TPM_E_IOERROR ((UINT32)(TPM_E_BASE + 0x0000001f))
305 
306 //
307 // MessageId: TPM_E_ENCRYPT_ERROR
308 //
309 // MessageText:
310 //
311 // The encryption process had a problem.
312 //
313 #define TPM_E_ENCRYPT_ERROR ((UINT32)(TPM_E_BASE + 0x00000020))
314 
315 //
316 // MessageId: TPM_E_DECRYPT_ERROR
317 //
318 // MessageText:
319 //
320 // The decryption process did not complete.
321 //
322 #define TPM_E_DECRYPT_ERROR ((UINT32)(TPM_E_BASE + 0x00000021))
323 
324 //
325 // MessageId: TPM_E_INVALID_AUTHHANDLE
326 //
327 // MessageText:
328 //
329 // An invalid handle was used.
330 //
331 #define TPM_E_INVALID_AUTHHANDLE ((UINT32)(TPM_E_BASE + 0x00000022))
332 
333 //
334 // MessageId: TPM_E_NO_ENDORSEMENT
335 //
336 // MessageText:
337 //
338 // The TPM does not a EK installed
339 //
340 #define TPM_E_NO_ENDORSEMENT ((UINT32)(TPM_E_BASE + 0x00000023))
341 
342 //
343 // MessageId: TPM_E_INVALID_KEYUSAGE
344 //
345 // MessageText:
346 //
347 // The usage of a key is not allowed
348 //
349 #define TPM_E_INVALID_KEYUSAGE ((UINT32)(TPM_E_BASE + 0x00000024))
350 
351 //
352 // MessageId: TPM_E_WRONG_ENTITYTYPE
353 //
354 // MessageText:
355 //
356 // The submitted entity type is not allowed
357 //
358 #define TPM_E_WRONG_ENTITYTYPE ((UINT32)(TPM_E_BASE + 0x00000025))
359 
360 //
361 // MessageId: TPM_E_INVALID_POSTINIT
362 //
363 // MessageText:
364 //
365 // The command was received in the wrong sequence relative to TPM_Init
366 // and a subsequent TPM_Startup
367 //
368 #define TPM_E_INVALID_POSTINIT ((UINT32)(TPM_E_BASE + 0x00000026))
369 
370 //
371 // MessageId: TPM_E_INAPPROPRIATE_SIG
372 //
373 // MessageText:
374 //
375 // Signed data cannot include additional DER information
376 //
377 #define TPM_E_INAPPROPRIATE_SIG ((UINT32)(TPM_E_BASE + 0x00000027))
378 
379 //
380 // MessageId: TPM_E_BAD_KEY_PROPERTY
381 //
382 // MessageText:
383 //
384 // The key properties in TPM_KEY_PARMs are not supported by this TPM
385 //
386 #define TPM_E_BAD_KEY_PROPERTY ((UINT32)(TPM_E_BASE + 0x00000028))
387 
388 //
389 // MessageId: TPM_E_BAD_MIGRATION
390 //
391 // MessageText:
392 //
393 // The migration properties of this key are incorrect.
394 //
395 #define TPM_E_BAD_MIGRATION ((UINT32)(TPM_E_BASE + 0x00000029))
396 
397 //
398 // MessageId: TPM_E_BAD_SCHEME
399 //
400 // MessageText:
401 //
402 // The signature or encryption scheme for this key is incorrect or not
403 // permitted in this situation.
404 //
405 #define TPM_E_BAD_SCHEME ((UINT32)(TPM_E_BASE + 0x0000002a))
406 
407 //
408 // MessageId: TPM_E_BAD_DATASIZE
409 //
410 // MessageText:
411 //
412 // The size of the data (or blob) parameter is bad or inconsistent
413 // with the referenced key
414 //
415 #define TPM_E_BAD_DATASIZE ((UINT32)(TPM_E_BASE + 0x0000002b))
416 
417 //
418 // MessageId: TPM_E_BAD_MODE
419 //
420 // MessageText:
421 //
422 // A mode parameter is bad, such as capArea or subCapArea for
423 // TPM_GetCapability, physicalPresence parameter for
424 // TPM_PhysicalPresence, or migrationType for TPM_CreateMigrationBlob.
425 //
426 #define TPM_E_BAD_MODE ((UINT32)(TPM_E_BASE + 0x0000002c))
427 
428 //
429 // MessageId: TPM_E_BAD_PRESENCE
430 //
431 // MessageText:
432 //
433 // Either the physicalPresence or physicalPresenceLock bits have the
434 // wrong value
435 //
436 #define TPM_E_BAD_PRESENCE ((UINT32)(TPM_E_BASE + 0x0000002d))
437 
438 //
439 // MessageId: TPM_E_BAD_VERSION
440 //
441 // MessageText:
442 //
443 // The TPM cannot perform this version of the capability
444 //
445 #define TPM_E_BAD_VERSION ((UINT32)(TPM_E_BASE + 0x0000002e))
446 
447 //
448 // MessageId: TPM_E_NO_WRAP_TRANSPORT
449 //
450 // MessageText:
451 //
452 // The TPM does not allow for wrapped transport sessions
453 //
454 #define TPM_E_NO_WRAP_TRANSPORT ((UINT32)(TPM_E_BASE + 0x0000002f))
455 
456 //
457 // MessageId: TPM_E_AUDITFAIL_UNSUCCESSFUL
458 //
459 // MessageText:
460 //
461 // TPM audit construction failed and the underlying command was
462 // returning a failure code also
463 //
464 #define TPM_E_AUDITFAIL_UNSUCCESSFUL ((UINT32)(TPM_E_BASE + 0x00000030))
465 
466 //
467 // MessageId: TPM_E_AUDITFAIL_SUCCESSFUL
468 //
469 // MessageText:
470 //
471 // TPM audit construction failed and the underlying command was
472 // returning success
473 //
474 #define TPM_E_AUDITFAIL_SUCCESSFUL ((UINT32)(TPM_E_BASE + 0x00000031))
475 
476 //
477 // MessageId: TPM_E_NOTRESETABLE
478 //
479 // MessageText:
480 //
481 // Attempt to reset a PCR register that does not have the resettable
482 // attribute
483 //
484 #define TPM_E_NOTRESETABLE ((UINT32)(TPM_E_BASE + 0x00000032))
485 
486 //
487 // MessageId: TPM_E_NOTLOCAL
488 //
489 // MessageText:
490 //
491 // Attempt to reset a PCR register that requires locality and locality
492 // modifier not part of command transport
493 //
494 #define TPM_E_NOTLOCAL ((UINT32)(TPM_E_BASE + 0x00000033))
495 
496 //
497 // MessageId: TPM_E_BAD_TYPE
498 //
499 // MessageText:
500 //
501 // Make identity blob not properly typed
502 //
503 #define TPM_E_BAD_TYPE ((UINT32)(TPM_E_BASE + 0x00000034))
504 
505 //
506 // MessageId: TPM_E_INVALID_RESOURCE
507 //
508 // MessageText:
509 //
510 // When saving context identified resource type does not match actual
511 // resource
512 //
513 #define TPM_E_INVALID_RESOURCE ((UINT32)(TPM_E_BASE + 0x00000035))
514 
515 //
516 // MessageId: TPM_E_NOTFIPS
517 //
518 // MessageText:
519 //
520 // The TPM is attempting to execute a command only available when in
521 // FIPS mode
522 //
523 #define TPM_E_NOTFIPS ((UINT32)(TPM_E_BASE + 0x00000036))
524 
525 //
526 // MessageId: TPM_E_INVALID_FAMILY
527 //
528 // MessageText:
529 //
530 // The command is attempting to use an invalid family ID
531 //
532 #define TPM_E_INVALID_FAMILY ((UINT32)(TPM_E_BASE + 0x00000037))
533 
534 //
535 // MessageId: TPM_E_NO_NV_PERMISSION
536 //
537 // MessageText:
538 //
539 // The permission to manipulate the NV storage is not available
540 //
541 #define TPM_E_NO_NV_PERMISSION ((UINT32)(TPM_E_BASE + 0x00000038))
542 
543 //
544 // MessageId: TPM_E_REQUIRES_SIGN
545 //
546 // MessageText:
547 //
548 // The operation requires a signed command
549 //
550 #define TPM_E_REQUIRES_SIGN ((UINT32)(TPM_E_BASE + 0x00000039))
551 
552 //
553 // MessageId: TPM_E_KEY_NOTSUPPORTED
554 //
555 // MessageText:
556 //
557 // Wrong operation to load an NV key
558 //
559 #define TPM_E_KEY_NOTSUPPORTED ((UINT32)(TPM_E_BASE + 0x0000003a))
560 
561 //
562 // MessageId: TPM_E_AUTH_CONFLICT
563 //
564 // MessageText:
565 //
566 // NV_LoadKey blob requires both owner and blob authorization
567 //
568 #define TPM_E_AUTH_CONFLICT ((UINT32)(TPM_E_BASE + 0x0000003b))
569 
570 //
571 // MessageId: TPM_E_AREA_LOCKED
572 //
573 // MessageText:
574 //
575 // The NV area is locked and not writable
576 //
577 #define TPM_E_AREA_LOCKED ((UINT32)(TPM_E_BASE + 0x0000003c))
578 
579 //
580 // MessageId: TPM_E_BAD_LOCALITY
581 //
582 // MessageText:
583 //
584 // The locality is incorrect for the attempted operation
585 //
586 #define TPM_E_BAD_LOCALITY ((UINT32)(TPM_E_BASE + 0x0000003d))
587 
588 //
589 // MessageId: TPM_E_READ_ONLY
590 //
591 // MessageText:
592 //
593 // The NV area is read only and can't be written to
594 //
595 #define TPM_E_READ_ONLY ((UINT32)(TPM_E_BASE + 0x0000003e))
596 
597 //
598 // MessageId: TPM_E_PER_NOWRITE
599 //
600 // MessageText:
601 //
602 // There is no protection on the write to the NV area
603 //
604 #define TPM_E_PER_NOWRITE ((UINT32)(TPM_E_BASE + 0x0000003f))
605 
606 //
607 // MessageId: TPM_E_FAMILYCOUNT
608 //
609 // MessageText:
610 //
611 // The family count value does not match
612 //
613 #define TPM_E_FAMILYCOUNT ((UINT32)(TPM_E_BASE + 0x00000040))
614 
615 //
616 // MessageId: TPM_E_WRITE_LOCKED
617 //
618 // MessageText:
619 //
620 // The NV area has already been written to
621 //
622 #define TPM_E_WRITE_LOCKED ((UINT32)(TPM_E_BASE + 0x00000041))
623 
624 //
625 // MessageId: TPM_E_BAD_ATTRIBUTES
626 //
627 // MessageText:
628 //
629 // The NV area attributes conflict
630 //
631 #define TPM_E_BAD_ATTRIBUTES ((UINT32)(TPM_E_BASE + 0x00000042))
632 
633 //
634 // MessageId: TPM_E_INVALID_STRUCTURE
635 //
636 // MessageText:
637 //
638 // The structure tag and version are invalid or inconsistent
639 //
640 #define TPM_E_INVALID_STRUCTURE ((UINT32)(TPM_E_BASE + 0x00000043))
641 
642 //
643 // MessageId: TPM_E_KEY_OWNER_CONTROL
644 //
645 // MessageText:
646 //
647 // The key is under control of the TPM Owner and can only be evicted
648 // by the TPM Owner.
649 //
650 #define TPM_E_KEY_OWNER_CONTROL ((UINT32)(TPM_E_BASE + 0x00000044))
651 
652 //
653 // MessageId: TPM_E_BAD_COUNTER
654 //
655 // MessageText:
656 //
657 // The counter handle is incorrect
658 //
659 #define TPM_E_BAD_COUNTER ((UINT32)(TPM_E_BASE + 0x00000045))
660 
661 //
662 // MessageId: TPM_E_NOT_FULLWRITE
663 //
664 // MessageText:
665 //
666 // The write is not a complete write of the area
667 //
668 #define TPM_E_NOT_FULLWRITE ((UINT32)(TPM_E_BASE + 0x00000046))
669 
670 //
671 // MessageId: TPM_E_CONTEXT_GAP
672 //
673 // MessageText:
674 //
675 // The gap between saved context counts is too large
676 //
677 #define TPM_E_CONTEXT_GAP ((UINT32)(TPM_E_BASE + 0x00000047))
678 
679 //
680 // MessageId: TPM_E_MAXNVWRITES
681 //
682 // MessageText:
683 //
684 // The maximum number of NV writes without an owner has been exceeded
685 //
686 #define TPM_E_MAXNVWRITES ((UINT32)(TPM_E_BASE + 0x00000048))
687 
688 //
689 // MessageId: TPM_E_NOOPERATOR
690 //
691 // MessageText:
692 //
693 // No operator AuthData value is set
694 //
695 #define TPM_E_NOOPERATOR ((UINT32)(TPM_E_BASE + 0x00000049))
696 
697 //
698 // MessageId: TPM_E_RESOURCEMISSING
699 //
700 // MessageText:
701 //
702 // The resource pointed to by context is not loaded
703 //
704 #define TPM_E_RESOURCEMISSING ((UINT32)(TPM_E_BASE + 0x0000004a))
705 
706 //
707 // MessageId: TPM_E_DELEGATE_LOCK
708 //
709 // MessageText:
710 //
711 // The delegate administration is locked
712 //
713 #define TPM_E_DELEGATE_LOCK ((UINT32)(TPM_E_BASE + 0x0000004b))
714 
715 //
716 // MessageId: TPM_E_DELEGATE_FAMILY
717 //
718 // MessageText:
719 //
720 // Attempt to manage a family other then the delegated family
721 //
722 #define TPM_E_DELEGATE_FAMILY ((UINT32)(TPM_E_BASE + 0x0000004c))
723 
724 //
725 // MessageId: TPM_E_DELEGATE_ADMIN
726 //
727 // MessageText:
728 //
729 // Delegation table management not enabled
730 //
731 #define TPM_E_DELEGATE_ADMIN ((UINT32)(TPM_E_BASE + 0x0000004d))
732 
733 //
734 // MessageId: TPM_E_TRANSPORT_NOTEXCLUSIVE
735 //
736 // MessageText:
737 //
738 // There was a command executed outside of an exclusive transport session
739 //
740 #define TPM_E_TRANSPORT_NOTEXCLUSIVE ((UINT32)(TPM_E_BASE + 0x0000004e))
741 
742 //
743 // MessageId: TPM_E_OWNER_CONTROL
744 //
745 // MessageText:
746 //
747 // Attempt to context save a owner evict controlled key
748 //
749 #define TPM_E_OWNER_CONTROL ((UINT32)(TPM_E_BASE + 0x0000004f))
750 
751 //
752 // MessageId: TPM_E_DAA_RESOURCES
753 //
754 // MessageText:
755 //
756 // The DAA command has no resources available to execute the command
757 //
758 #define TPM_E_DAA_RESOURCES ((UINT32)(TPM_E_BASE + 0x00000050))
759 
760 //
761 // MessageId: TPM_E_DAA_INPUT_DATA0
762 //
763 // MessageText:
764 //
765 // The consistency check on DAA parameter inputData0 has failed.
766 //
767 #define TPM_E_DAA_INPUT_DATA0 ((UINT32)(TPM_E_BASE + 0x00000051))
768 
769 //
770 // MessageId: TPM_E_DAA_INPUT_DATA1
771 //
772 // MessageText:
773 //
774 // The consistency check on DAA parameter inputData1 has failed.
775 //
776 #define TPM_E_DAA_INPUT_DATA1 ((UINT32)(TPM_E_BASE + 0x00000052))
777 
778 //
779 // MessageId: TPM_E_DAA_ISSUER_SETTINGS
780 //
781 // MessageText:
782 //
783 // The consistency check on DAA_issuerSettings has failed.
784 //
785 #define TPM_E_DAA_ISSUER_SETTINGS ((UINT32)(TPM_E_BASE + 0x00000053))
786 
787 //
788 // MessageId: TPM_E_DAA_TPM_SETTINGS
789 //
790 // MessageText:
791 //
792 // The consistency check on DAA_tpmSpecific has failed.
793 //
794 #define TPM_E_DAA_TPM_SETTINGS ((UINT32)(TPM_E_BASE + 0x00000054))
795 
796 //
797 // MessageId: TPM_E_DAA_STAGE
798 //
799 // MessageText:
800 //
801 // The atomic process indicated by the submitted DAA command is not
802 // the expected process.
803 //
804 #define TPM_E_DAA_STAGE ((UINT32)(TPM_E_BASE + 0x00000055))
805 
806 //
807 // MessageId: TPM_E_DAA_ISSUER_VALIDITY
808 //
809 // MessageText:
810 //
811 // The issuer's validity check has detected an inconsistency
812 //
813 #define TPM_E_DAA_ISSUER_VALIDITY ((UINT32)(TPM_E_BASE + 0x00000056))
814 
815 //
816 // MessageId: TPM_E_DAA_WRONG_W
817 //
818 // MessageText:
819 //
820 // The consistency check on w has failed.
821 //
822 #define TPM_E_DAA_WRONG_W ((UINT32)(TPM_E_BASE + 0x00000057))
823 
824 //
825 // MessageId: TPM_E_BAD_HANDLE
826 //
827 // MessageText:
828 //
829 // The handle is incorrect
830 //
831 #define TPM_E_BAD_HANDLE ((UINT32)(TPM_E_BASE + 0x00000058))
832 
833 //
834 // MessageId: TPM_E_BAD_DELEGATE
835 //
836 // MessageText:
837 //
838 // Delegation is not correct
839 //
840 #define TPM_E_BAD_DELEGATE ((UINT32)(TPM_E_BASE + 0x00000059))
841 
842 //
843 // MessageId: TPM_E_BADCONTEXT
844 //
845 // MessageText:
846 //
847 // The context blob is invalid
848 //
849 #define TPM_E_BADCONTEXT ((UINT32)(TPM_E_BASE + 0x0000005a))
850 
851 //
852 // MessageId: TPM_E_TOOMANYCONTEXTS
853 //
854 // MessageText:
855 //
856 // Too many contexts held by the TPM
857 //
858 #define TPM_E_TOOMANYCONTEXTS ((UINT32)(TPM_E_BASE + 0x0000005b))
859 
860 //
861 // MessageId: TPM_E_MA_TICKET_SIGNATURE
862 //
863 // MessageText:
864 //
865 // Migration authority signature validation failure
866 //
867 #define TPM_E_MA_TICKET_SIGNATURE ((UINT32)(TPM_E_BASE + 0x0000005c))
868 
869 //
870 // MessageId: TPM_E_MA_DESTINATION
871 //
872 // MessageText:
873 //
874 // Migration destination not authenticated
875 //
876 #define TPM_E_MA_DESTINATION ((UINT32)(TPM_E_BASE + 0x0000005d))
877 
878 //
879 // MessageId: TPM_E_MA_SOURCE
880 //
881 // MessageText:
882 //
883 // Migration source incorrect
884 //
885 #define TPM_E_MA_SOURCE ((UINT32)(TPM_E_BASE + 0x0000005e))
886 
887 //
888 // MessageId: TPM_E_MA_AUTHORITY
889 //
890 // MessageText:
891 //
892 // Incorrect migration authority
893 //
894 #define TPM_E_MA_AUTHORITY ((UINT32)(TPM_E_BASE + 0x0000005f))
895 
896 //
897 // MessageId: TPM_E_PERMANENTEK
898 //
899 // MessageText:
900 //
901 // Attempt to revoke the EK and the EK is not revocable
902 //
903 #define TPM_E_PERMANENTEK ((UINT32)(TPM_E_BASE + 0x00000061))
904 
905 //
906 // MessageId: TPM_E_BAD_SIGNATURE
907 //
908 // MessageText:
909 //
910 // Bad signature of CMK ticket
911 //
912 #define TPM_E_BAD_SIGNATURE ((UINT32)(TPM_E_BASE + 0x00000062))
913 
914 //
915 // MessageId: TPM_E_NOCONTEXTSPACE
916 //
917 // MessageText:
918 //
919 // There is no room in the context list for additional contexts
920 //
921 #define TPM_E_NOCONTEXTSPACE  ((UINT32)(TPM_E_BASE + 0x00000063))
922 
923 
924 //
925 // MessageId: TPM_E_RETRY
926 //
927 // MessageText:
928 //
929 // The TPM is too busy to respond to the command immediately, but the
930 // command could be resubmitted at a later time. The TPM MAY return
931 // TPM_Retry for any command at any time.
932 //
933 #define TPM_E_RETRY ((UINT32)(TPM_E_BASE + TPM_E_NON_FATAL))
934 
935 //
936 // MessageId: TPM_E_NEEDS_SELFTEST
937 //
938 // MessageText:
939 //
940 // SelfTestFull has not been run
941 //
942 #define TPM_E_NEEDS_SELFTEST ((UINT32)(TPM_E_BASE + TPM_E_NON_FATAL + 1))
943 
944 //
945 // MessageId: TPM_E_DOING_SELFTEST
946 //
947 // MessageText:
948 //
949 // The TPM is currently executing a full selftest
950 //
951 #define TPM_E_DOING_SELFTEST ((UINT32)(TPM_E_BASE + TPM_E_NON_FATAL + 2))
952 
953 //
954 // MessageId: TPM_E_DEFEND_LOCK_RUNNING
955 //
956 // MessageText:
957 //
958 // The TPM is defending against dictionary attacks and is in some
959 // time-out period.
960 //
961 #define TPM_E_DEFEND_LOCK_RUNNING ((UINT32)(TPM_E_BASE + TPM_E_NON_FATAL + 3))
962 
963 #endif /* __TPM_ERROR_H__ */
964