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