diff --git a/MdePkg/Include/IndustryStandard/Acpi10.h b/MdePkg/Include/IndustryStandard/Acpi10.h index 7afb678a99..c2f3acf75c 100644 --- a/MdePkg/Include/IndustryStandard/Acpi10.h +++ b/MdePkg/Include/IndustryStandard/Acpi10.h @@ -82,6 +82,9 @@ typedef struct { #pragma pack() +/// +/// the End tag identifies an end of resource data. +/// typedef struct { UINT8 Desc; UINT8 Checksum; diff --git a/MdePkg/Include/IndustryStandard/Atapi.h b/MdePkg/Include/IndustryStandard/Atapi.h index 92059b3b56..cba10f6e9b 100644 --- a/MdePkg/Include/IndustryStandard/Atapi.h +++ b/MdePkg/Include/IndustryStandard/Atapi.h @@ -135,12 +135,8 @@ typedef struct { UINT8 sense_key_specific_17; } ATAPI_REQUEST_SENSE_DATA; -// -// The followings are defined in SFF-8070i(ATAPI Removable Rewritable Specification) -// - /// -/// READ CAPACITY Data +/// READ CAPACITY Data, defined in SFF-8070i(ATAPI Removable Rewritable Specification) /// typedef struct { UINT8 LastLba3; @@ -155,6 +151,7 @@ typedef struct { /// /// Capacity List Header + Current/Maximum Capacity Descriptor, +/// defined in SFF-8070i(ATAPI Removable Rewritable Specification) /// typedef struct { UINT8 reserved_0; @@ -173,7 +170,7 @@ typedef struct { } ATAPI_READ_FORMAT_CAPACITY_DATA; /// -/// Test Unit Ready Command +/// Test Unit Ready Command, defined in SFF-8070i(ATAPI Removable Rewritable Specification) /// typedef struct { UINT8 opcode; @@ -191,7 +188,7 @@ typedef struct { } ATAPI_TEST_UNIT_READY_CMD; /// -/// INQUIRY Command +/// INQUIRY Command, defined in SFF-8070i(ATAPI Removable Rewritable Specification) /// typedef struct { UINT8 opcode; @@ -210,7 +207,7 @@ typedef struct { } ATAPI_INQUIRY_CMD; /// -/// REQUEST SENSE Command +/// REQUEST SENSE Command, defined in SFF-8070i(ATAPI Removable Rewritable Specification) /// typedef struct { UINT8 opcode; @@ -229,7 +226,7 @@ typedef struct { } ATAPI_REQUEST_SENSE_CMD; /// -/// READ (10) Command +/// READ (10) Command, defined in SFF-8070i(ATAPI Removable Rewritable Specification) /// typedef struct { UINT8 opcode; @@ -248,7 +245,7 @@ typedef struct { } ATAPI_READ10_CMD; /// -/// READ Format Capacity Command +/// READ Format Capacity Command, defined in SFF-8070i(ATAPI Removable Rewritable Specification) /// typedef struct { UINT8 opcode; @@ -267,7 +264,7 @@ typedef struct { } ATAPI_READ_FORMAT_CAP_CMD; /// -/// MODE SENSE Command +/// MODE SENSE Command, defined in SFF-8070i(ATAPI Removable Rewritable Specification) /// typedef struct { UINT8 opcode; diff --git a/MdePkg/Include/IndustryStandard/Pci22.h b/MdePkg/Include/IndustryStandard/Pci22.h index 9ac34aae82..d596e926c2 100644 --- a/MdePkg/Include/IndustryStandard/Pci22.h +++ b/MdePkg/Include/IndustryStandard/Pci22.h @@ -2,8 +2,8 @@ Support for PCI 2.2 standard. This file includes the definitions in the following specifications, - PCI Local Bus Specification, 2.0 - PCI-to-PCI Bridge Architecture Specification, + PCI Local Bus Specification, 2.2 + PCI-to-PCI Bridge Architecture Specification, Revision 1.2 PC Card Standard, 8.0 Copyright (c) 2006 - 2008, Intel Corporation @@ -25,8 +25,12 @@ #define PCI_MAX_DEVICE 31 #define PCI_MAX_FUNC 7 - #pragma pack(1) + +/// +/// Common header region in PCI Configuration Space +/// Section 6.1, PCI Local Bus Specification, 2.2 +/// typedef struct { UINT16 VendorId; UINT16 DeviceId; @@ -40,6 +44,10 @@ typedef struct { UINT8 BIST; } PCI_DEVICE_INDEPENDENT_REGION; +/// +/// PCI Device header region in PCI Configuration Space +/// Section 6.1, PCI Local Bus Specification, 2.2 +/// typedef struct { UINT32 Bar[6]; UINT32 CISPtr; @@ -55,13 +63,18 @@ typedef struct { UINT8 MaxLat; } PCI_DEVICE_HEADER_TYPE_REGION; +/// +/// PCI Device Configuration Space +/// Section 6.1, PCI Local Bus Specification, 2.2 +/// typedef struct { PCI_DEVICE_INDEPENDENT_REGION Hdr; PCI_DEVICE_HEADER_TYPE_REGION Device; } PCI_TYPE00; /// -/// defined in PCI-to-PCI Bridge Architecture Specification +/// PCI-PCI Bridge header region in PCI Configuration Space +/// Section 3.2, PCI-PCI Bridge Architecture, Version 1.2 /// typedef struct { UINT32 Bar[2]; @@ -88,6 +101,10 @@ typedef struct { UINT16 BridgeControl; } PCI_BRIDGE_CONTROL_REGISTER; +/// +/// PCI-to-PCI Bridge Configuration Space +/// Section 3.2, PCI-PCI Bridge Architecture, Version 1.2 +/// typedef struct { PCI_DEVICE_INDEPENDENT_REGION Hdr; PCI_BRIDGE_CONTROL_REGISTER Bridge; @@ -99,7 +116,8 @@ typedef union { } PCI_TYPE_GENERIC; /// -/// CardBus Conroller Configuration Space, defined in PC Card Standard. 8.0 +/// CardBus Conroller Configuration Space, +/// Section 4.5.1, PC Card Standard. 8.0 /// typedef struct { UINT32 CardBusSocketReg; ///< Cardus Socket/ExCA Base @@ -437,13 +455,18 @@ typedef union { #define EFI_PCI_CAPABILITY_ID_MSI 0x05 #define EFI_PCI_CAPABILITY_ID_HOTPLUG 0x06 +/// +/// Capabilities List Header +/// Section 6.7, PCI Local Bus Specification, 2.2 +/// typedef struct { UINT8 CapabilityID; UINT8 NextItemPtr; } EFI_PCI_CAPABILITY_HDR; /// -/// Capability EFI_PCI_CAPABILITY_ID_PMI, defined in PCI Power Management Interface Specifiction +/// Power Management Register Block Definition +/// Section 3.2, PCI Power Management Interface Specifiction, Revision 1.2 /// typedef struct { EFI_PCI_CAPABILITY_HDR Hdr; @@ -454,7 +477,8 @@ typedef struct { } EFI_PCI_CAPABILITY_PMI; /// -/// Capability EFI_PCI_CAPABILITY_ID_AGP, defined in Accelerated Graphics Port Interface Specification +/// A.G.P Capability +/// Section 6.1.4, Accelerated Graphics Port Interface Specification, Revision 1.0 /// typedef struct { EFI_PCI_CAPABILITY_HDR Hdr; @@ -465,7 +489,8 @@ typedef struct { } EFI_PCI_CAPABILITY_AGP; /// -/// Capability EFI_PCI_CAPABILITY_ID_VPD, in PCI2.2 Spec. +/// VPD Capability Structure +/// Appendix I, PCI Local Bus Specification, 2.2 /// typedef struct { EFI_PCI_CAPABILITY_HDR Hdr; @@ -474,7 +499,8 @@ typedef struct { } EFI_PCI_CAPABILITY_VPD; /// -/// Capability EFI_PCI_CAPABILITY_ID_SLOTID, defined in PCI-to-PCI Bridge Architeture Specification +/// Slot Numbering Capabilities Register +/// Section 3.2.6, PCI-to-PCI Bridge Architeture Specification, Revision 1.2 /// typedef struct { EFI_PCI_CAPABILITY_HDR Hdr; @@ -483,7 +509,8 @@ typedef struct { } EFI_PCI_CAPABILITY_SLOTID; /// -/// Capability EFI_PCI_CAPABILITY_ID_MSI, defined in PCI2.2 +/// Message Capability Structure for 32-bit Message Address +/// Section 6.8.1, PCI Local Bus Specification, 2.2 /// typedef struct { EFI_PCI_CAPABILITY_HDR Hdr; @@ -492,6 +519,10 @@ typedef struct { UINT16 MsgDataReg; } EFI_PCI_CAPABILITY_MSI32; +/// +/// Message Capability Structure for 64-bit Message Address +/// Section 6.8.1, PCI Local Bus Specification, 2.2 +/// typedef struct { EFI_PCI_CAPABILITY_HDR Hdr; UINT16 MsgCtrlReg; @@ -501,7 +532,8 @@ typedef struct { } EFI_PCI_CAPABILITY_MSI64; /// -/// Capability EFI_PCI_CAPABILITY_ID_HOTPLUG, defined in CompactPCI Hot Swap Specification PICMG 2.1, R1.0 +/// Capability EFI_PCI_CAPABILITY_ID_HOTPLUG, +/// CompactPCI Hot Swap Specification PICMG 2.1, R1.0 /// typedef struct { EFI_PCI_CAPABILITY_HDR Hdr; @@ -546,12 +578,20 @@ typedef struct { #define PCI_CODE_TYPE_PCAT_IMAGE 0x00 #define EFI_PCI_EXPANSION_ROM_HEADER_COMPRESSED 0x0001 ///< defined in UEFI spec. +/// +/// Standard PCI Expansion ROM Header +/// Section 13.4.2, Unified Extensible Firmware Interface Specification, Version 2.1 +/// typedef struct { UINT16 Signature; ///< 0xaa55 UINT8 Reserved[0x16]; UINT16 PcirOffset; } PCI_EXPANSION_ROM_HEADER; +/// +/// Legacy ROM Header Extensions +/// Section 6.3.3.1, PCI Local Bus Specification, 2.2 +/// typedef struct { UINT16 Signature; ///< 0xaa55 UINT8 Size512; @@ -560,6 +600,10 @@ typedef struct { UINT16 PcirOffset; } EFI_LEGACY_EXPANSION_ROM_HEADER; +/// +/// PCI Data Structure Format +/// Section 6.3.1.2, PCI Local Bus Specification, 2.2 +/// typedef struct { UINT32 Signature; ///< "PCIR" UINT16 VendorId; @@ -576,7 +620,8 @@ typedef struct { } PCI_DATA_STRUCTURE; /// -/// defined in EFI/UEFI Spec +/// EFI PCI Expansion ROM Header +/// Section 13.4.2, Unified Extensible Firmware Interface Specification, Version 2.1 /// typedef struct { UINT16 Signature; ///< 0xaa55 diff --git a/MdePkg/Include/IndustryStandard/Pci23.h b/MdePkg/Include/IndustryStandard/Pci23.h index b100dce1a0..be079835d2 100644 --- a/MdePkg/Include/IndustryStandard/Pci23.h +++ b/MdePkg/Include/IndustryStandard/Pci23.h @@ -34,7 +34,8 @@ #pragma pack(1) /// -/// Capability EFI_PCI_CAPABILITY_ID_PCIX, defined in PCI-X Addendum to the PCI Local Bus Specification +/// PCI-X Capabilities List, +/// Section 7.2, PCI-X Addendum to the PCI Local Bus Specification, Revision 1.0b /// typedef struct { EFI_PCI_CAPABILITY_HDR Hdr; @@ -42,8 +43,9 @@ typedef struct { UINT32 StatusReg; } EFI_PCI_CAPABILITY_PCIX; -/// -/// Capability EFI_PCI_CAPABILITY_PCIX_BRDG, defined in PCI-X Addendum to the PCI Local Bus Specification +/// +/// PCI-X Bridge Capabilities List, +/// Section 8.6.2, PCI-X Addendum to the PCI Local Bus Specification, Revision 1.0b /// typedef struct { EFI_PCI_CAPABILITY_HDR Hdr; diff --git a/MdePkg/Include/IndustryStandard/Pci30.h b/MdePkg/Include/IndustryStandard/Pci30.h index 3bcf2327f1..505a527ac2 100644 --- a/MdePkg/Include/IndustryStandard/Pci30.h +++ b/MdePkg/Include/IndustryStandard/Pci30.h @@ -33,7 +33,8 @@ #pragma pack(1) /// -/// defined in PCI Firmware Specification +/// PCI Data Structure Format +/// Section 5.1.2, PCI Firmware Specification, Revision 3.0 /// typedef struct { UINT32 Signature; ///< "PCIR" diff --git a/MdePkg/Include/IndustryStandard/PeImage.h b/MdePkg/Include/IndustryStandard/PeImage.h index fc01e78273..97a17e5eb5 100644 --- a/MdePkg/Include/IndustryStandard/PeImage.h +++ b/MdePkg/Include/IndustryStandard/PeImage.h @@ -21,9 +21,9 @@ #ifndef __PE_IMAGE_H__ #define __PE_IMAGE_H__ -/// -/// PE32+ Subsystem type for EFI images -/// +// +// PE32+ Subsystem type for EFI images +// #define EFI_IMAGE_SUBSYSTEM_EFI_APPLICATION 10 #define EFI_IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER 11 #define EFI_IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER 12 @@ -32,9 +32,9 @@ #define EFI_IMAGE_SUBSYSTEM_SAL_RUNTIME_DRIVER 13 ///< defined PI Specification, 1.0 -/// -/// PE32+ Machine type for EFI images -/// +// +// PE32+ Machine type for EFI images +// #define IMAGE_FILE_MACHINE_I386 0x014c #define IMAGE_FILE_MACHINE_IA64 0x0200 #define IMAGE_FILE_MACHINE_EBC 0x0EBC @@ -48,9 +48,9 @@ #define EFI_IMAGE_MACHINE_EBC IMAGE_FILE_MACHINE_EBC #define EFI_IMAGE_MACHINE_X64 IMAGE_FILE_MACHINE_X64 -/// -/// EXE file formats -/// +// +// EXE file formats +// #define EFI_IMAGE_DOS_SIGNATURE SIGNATURE_16('M', 'Z') #define EFI_IMAGE_OS2_SIGNATURE SIGNATURE_16('N', 'E') #define EFI_IMAGE_OS2_SIGNATURE_LE SIGNATURE_16('L', 'E') @@ -100,9 +100,9 @@ typedef struct { /// #define EFI_IMAGE_SIZEOF_FILE_HEADER 20 -/// -/// Characteristics -/// +// +// Characteristics +// #define EFI_IMAGE_FILE_RELOCS_STRIPPED BIT0 ///< 0x0001 Relocation info stripped from file. #define EFI_IMAGE_FILE_EXECUTABLE_IMAGE BIT1 ///< 0x0002 File is executable (i.e. no unresolved externel references). #define EFI_IMAGE_FILE_LINE_NUMS_STRIPPED BIT2 ///< 0x0004 Line nunbers stripped from file. @@ -114,9 +114,9 @@ typedef struct { #define EFI_IMAGE_FILE_DLL BIT13 ///< 0x2000 File is a DLL. #define EFI_IMAGE_FILE_BYTES_REVERSED_HI BIT15 ///< 0x8000 Bytes of machine word are reversed. -/// -/// Other Machine Types -/// +// +// Other Machine Types +// #define EFI_IMAGE_FILE_MACHINE_UNKNOWN 0 ///< Any machine type #define EFI_IMAGE_FILE_MACHINE_I386 0x14c ///< Intel 386. #define EFI_IMAGE_FILE_MACHINE_R3000 0x162 ///< MIPS* little-endian, 0540 big-endian @@ -136,9 +136,9 @@ typedef struct { #define EFI_IMAGE_ROM_OPTIONAL_HDR_MAGIC 0x107 -/// -/// Directory Entries -/// +// +// Directory Entries +// #define EFI_IMAGE_DIRECTORY_ENTRY_EXPORT 0 #define EFI_IMAGE_DIRECTORY_ENTRY_IMPORT 1 #define EFI_IMAGE_DIRECTORY_ENTRY_RESOURCE 2 @@ -160,7 +160,10 @@ typedef struct { /// after NT additional fields. /// #define EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC 0x10b - + +/// +/// Optional Header Standard Fields for PE32 +/// typedef struct { /// /// Standard fields. @@ -175,7 +178,7 @@ typedef struct { UINT32 BaseOfCode; UINT32 BaseOfData; ///< PE32 contains this additional field, which is absent in PE32+ /// - /// NT additional fields. + /// Optional Header Windows-Specific Fields. /// UINT32 ImageBase; UINT32 SectionAlignment; @@ -209,10 +212,13 @@ typedef struct { /// #define EFI_IMAGE_NT_OPTIONAL_HDR64_MAGIC 0x20b +/// +/// Optional Header Standard Fields for PE32+ +/// typedef struct { - // - // Standard fields. - // + /// + /// Standard fields. + /// UINT16 Magic; UINT8 MajorLinkerVersion; UINT8 MinorLinkerVersion; @@ -221,9 +227,9 @@ typedef struct { UINT32 SizeOfUninitializedData; UINT32 AddressOfEntryPoint; UINT32 BaseOfCode; - // - // NT additional fields. - // + /// + /// Optional Header Windows-Specific Fields. + /// UINT64 ImageBase; UINT32 SectionAlignment; UINT32 FileAlignment; @@ -331,9 +337,9 @@ typedef EFI_IMAGE_NT_HEADERS64 EFI_IMAGE_NT_HEADERS; ) \ ) -/// -/// Other Windows Subsystem Values -/// +// +// Other Windows Subsystem Values +// #define EFI_IMAGE_SUBSYSTEM_UNKNOWN 0 #define EFI_IMAGE_SUBSYSTEM_NATIVE 1 #define EFI_IMAGE_SUBSYSTEM_WINDOWS_GUI 2 @@ -346,6 +352,9 @@ typedef EFI_IMAGE_NT_HEADERS64 EFI_IMAGE_NT_HEADERS; /// #define EFI_IMAGE_SIZEOF_SHORT_NAME 8 +/// +/// Section Table, this table immediately follows the optional header +/// typedef struct { UINT8 Name[EFI_IMAGE_SIZEOF_SHORT_NAME]; union { @@ -367,9 +376,9 @@ typedef struct { /// #define EFI_IMAGE_SIZEOF_SECTION_HEADER 40 -/// -/// Section Flags Values -/// +// +// Section Flags Values +// #define EFI_IMAGE_SCN_TYPE_NO_PAD BIT3 ///< 0x00000008 ///< Reserved. #define EFI_IMAGE_SCN_CNT_CODE BIT5 ///< 0x00000020 #define EFI_IMAGE_SCN_CNT_INITIALIZED_DATA BIT6 ///< 0x00000040 @@ -401,17 +410,17 @@ typedef struct { /// #define EFI_IMAGE_SIZEOF_SYMBOL 18 -/// -/// Symbols have a section number of the section in which they are -/// defined. Otherwise, section numbers have the following meanings: -/// +// +// Symbols have a section number of the section in which they are +// defined. Otherwise, section numbers have the following meanings: +// #define EFI_IMAGE_SYM_UNDEFINED (UINT16) 0 ///< Symbol is undefined or is common. #define EFI_IMAGE_SYM_ABSOLUTE (UINT16) -1 ///< Symbol is an absolute value. #define EFI_IMAGE_SYM_DEBUG (UINT16) -2 ///< Symbol is a special debug item. -/// -/// Symbol Type (fundamental) values. -/// +// +// Symbol Type (fundamental) values. +// #define EFI_IMAGE_SYM_TYPE_NULL 0 ///< no type. #define EFI_IMAGE_SYM_TYPE_VOID 1 ///< no valid type. #define EFI_IMAGE_SYM_TYPE_CHAR 2 ///< type character. @@ -429,17 +438,17 @@ typedef struct { #define EFI_IMAGE_SYM_TYPE_UINT 14 #define EFI_IMAGE_SYM_TYPE_DWORD 15 -/// -/// Symbol Type (derived) values. -/// +// +// Symbol Type (derived) values. +// #define EFI_IMAGE_SYM_DTYPE_NULL 0 ///< no derived type. #define EFI_IMAGE_SYM_DTYPE_POINTER 1 #define EFI_IMAGE_SYM_DTYPE_FUNCTION 2 #define EFI_IMAGE_SYM_DTYPE_ARRAY 3 -/// -/// Storage classes. -/// +// +// Storage classes. +// #define EFI_IMAGE_SYM_CLASS_END_OF_FUNCTION ((UINT8) -1) #define EFI_IMAGE_SYM_CLASS_NULL 0 #define EFI_IMAGE_SYM_CLASS_AUTOMATIC 1 @@ -477,18 +486,18 @@ typedef struct { #define EFI_IMAGE_N_BTSHFT 4 #define EFI_IMAGE_N_TSHIFT 2 -/// -/// Communal selection types. -/// +// +// Communal selection types. +// #define EFI_IMAGE_COMDAT_SELECT_NODUPLICATES 1 #define EFI_IMAGE_COMDAT_SELECT_ANY 2 #define EFI_IMAGE_COMDAT_SELECT_SAME_SIZE 3 #define EFI_IMAGE_COMDAT_SELECT_EXACT_MATCH 4 #define EFI_IMAGE_COMDAT_SELECT_ASSOCIATIVE 5 -/// -/// the following values only be referred in PeCoff, not defined in PECOFF. -/// +// +// the following values only be referred in PeCoff, not defined in PECOFF. +// #define EFI_IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY 1 #define EFI_IMAGE_WEAK_EXTERN_SEARCH_LIBRARY 2 #define EFI_IMAGE_WEAK_EXTERN_SEARCH_ALIAS 3 @@ -507,9 +516,9 @@ typedef struct { /// #define EFI_IMAGE_SIZEOF_RELOCATION 10 -/// -/// I386 relocation types. -/// +// +// I386 relocation types. +// #define EFI_IMAGE_REL_I386_ABSOLUTE 0x0000 ///< Reference is absolute, no relocation is necessary #define EFI_IMAGE_REL_I386_DIR16 0x0001 ///< Direct 16-bit reference to the symbols virtual address #define EFI_IMAGE_REL_I386_REL16 0x0002 ///< PC-relative 16-bit reference to the symbols virtual address @@ -520,9 +529,9 @@ typedef struct { #define EFI_IMAGE_REL_I386_SECREL 0x000B #define EFI_IMAGE_REL_I386_REL32 0x0014 ///< PC-relative 32-bit reference to the symbols virtual address -/// -/// x64 processor relocation types. -/// +// +// x64 processor relocation types. +// #define IMAGE_REL_AMD64_ABSOLUTE 0x0000 #define IMAGE_REL_AMD64_ADDR64 0x0001 #define IMAGE_REL_AMD64_ADDR32 0x0002 @@ -554,9 +563,9 @@ typedef struct { /// #define EFI_IMAGE_SIZEOF_BASE_RELOCATION 8 -/// -/// Based relocation types. -/// +// +// Based relocation types. +// #define EFI_IMAGE_REL_BASED_ABSOLUTE 0 #define EFI_IMAGE_REL_BASED_HIGH 1 #define EFI_IMAGE_REL_BASED_LOW 2 @@ -583,9 +592,9 @@ typedef struct { /// #define EFI_IMAGE_SIZEOF_LINENUMBER 6 -/// -/// Archive format. -/// +// +// Archive format. +// #define EFI_IMAGE_ARCHIVE_START_SIZE 8 #define EFI_IMAGE_ARCHIVE_START "!\n" #define EFI_IMAGE_ARCHIVE_END "`\n" @@ -593,6 +602,9 @@ typedef struct { #define EFI_IMAGE_ARCHIVE_LINKER_MEMBER "/ " #define EFI_IMAGE_ARCHIVE_LONGNAMES_MEMBER "// " +/// +/// Archive Member Headers +/// typedef struct { UINT8 Name[16]; ///< File member name - `/' terminated. UINT8 Date[12]; ///< File member date - decimal. @@ -609,9 +621,9 @@ typedef struct { #define EFI_IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR 60 -/// -/// DLL Support -/// +// +// DLL Support +// /// /// Export Directory Table @@ -638,6 +650,9 @@ typedef struct { UINT8 Name[1]; } EFI_IMAGE_IMPORT_BY_NAME; +/// +/// Import Address Table RVA (Thunk Table) +/// typedef struct { union { UINT32 Function; diff --git a/MdePkg/Include/IndustryStandard/Tpm12.h b/MdePkg/Include/IndustryStandard/Tpm12.h index 0c5fac2f97..5f5ce5731d 100644 --- a/MdePkg/Include/IndustryStandard/Tpm12.h +++ b/MdePkg/Include/IndustryStandard/Tpm12.h @@ -22,7 +22,7 @@ #define TPM_BASE (EFI_MAX_BIT + (EFI_MAX_BIT >> 1)) // -// Structures are all packed on 1-byte alignment +// All structures MUST be packed on a byte boundary. // #pragma pack (1) @@ -281,9 +281,9 @@ typedef UINT32 TPM_FAMILY_OPERATION; // Part 2, section 5: Basic Structures // -// -// Part 2, section 5.1: TPM_STRUCT_VER -// +/// +/// Part 2, section 5.1: TPM_STRUCT_VER +/// typedef struct tdTPM_STRUCT_VER { UINT8 major; UINT8 minor; @@ -291,9 +291,9 @@ typedef struct tdTPM_STRUCT_VER { UINT8 revMinor; } TPM_STRUCT_VER; -// -// Part 2, section 5.3: TPM_VERSION -// +/// +/// Part 2, section 5.3: TPM_VERSION +/// typedef struct tdTPM_VERSION { TPM_VERSION_BYTE major; TPM_VERSION_BYTE minor; @@ -301,16 +301,17 @@ typedef struct tdTPM_VERSION { UINT8 revMinor; } TPM_VERSION; -// -// Part 2, section 5.4: TPM_DIGEST -// -#define TPM_SHA1_160_HASH_LEN 0x14 -#define TPM_SHA1BASED_NONCE_LEN TPM_SHA1_160_HASH_LEN +/// +/// Part 2, section 5.4: TPM_DIGEST +/// typedef struct tdTPM_DIGEST{ UINT8 digest[TPM_SHA1_160_HASH_LEN]; } TPM_DIGEST; +#define TPM_SHA1_160_HASH_LEN 0x14 +#define TPM_SHA1BASED_NONCE_LEN TPM_SHA1_160_HASH_LEN + typedef TPM_DIGEST TPM_CHOSENID_HASH; typedef TPM_DIGEST TPM_COMPOSITE_HASH; typedef TPM_DIGEST TPM_DIRVALUE; @@ -320,9 +321,9 @@ typedef TPM_DIGEST TPM_AUDITDIGEST; typedef TPM_DIGEST TPM_DAA_TPM_SEED; typedef TPM_DIGEST TPM_DAA_CONTEXT_SEED; -// -// Part 2, section 5.5: TPM_NONCE -// +/// +/// Part 2, section 5.5: TPM_NONCE +/// typedef struct tdTPM_NONCE{ UINT8 nonce[20]; } TPM_NONCE; @@ -335,10 +336,10 @@ typedef tdTPM_AUTHDATA TPM_AUTHDATA; typedef TPM_AUTHDATA TPM_SECRET; typedef TPM_AUTHDATA TPM_ENCAUTH; -// -// Part 2, section 5.7: TPM_KEY_HANDLE_LIST -// Size of handle is loaded * sizeof(TPM_KEY_HANDLE) -// +/// +/// Part 2, section 5.7: TPM_KEY_HANDLE_LIST +/// Size of handle is loaded * sizeof(TPM_KEY_HANDLE) +/// typedef struct tdTPM_KEY_HANDLE_LIST { UINT16 loaded; TPM_KEY_HANDLE handle[1]; @@ -409,9 +410,9 @@ typedef struct tdTPM_KEY_HANDLE_LIST { #define TPM_AUTH_ALWAYS ((TPM_AUTH_DATA_USAGE) 0x01) #define TPM_AUTH_PRIV_USE_ONLY ((TPM_AUTH_DATA_USAGE) 0x03) -// -// Part 2, section 5.10: TPM_KEY_FLAGS -// +/// +/// Part 2, section 5.10: TPM_KEY_FLAGS +/// typedef enum tdTPM_KEY_FLAGS { redirection = 0x00000001, migratable = 0x00000002, @@ -420,21 +421,21 @@ typedef enum tdTPM_KEY_FLAGS { migrateAuthority = 0x00000010 } TPM_KEY_FLAGS_BITS; -// -// Part 2, section 5.11: TPM_CHANGEAUTH_VALIDATE -// +/// +/// Part 2, section 5.11: TPM_CHANGEAUTH_VALIDATE +/// typedef struct tdTPM_CHANGEAUTH_VALIDATE { TPM_SECRET newAuthSecret; TPM_NONCE n1; } TPM_CHANGEAUTH_VALIDATE; -// -// Part 2, section 5.12: TPM_MIGRATIONKEYAUTH -// decalared after section 10 to catch declaration of TPM_PUBKEY -// -// Part 2 section 10.1: TPM_KEY_PARMS -// [size_is(parmSize)] BYTE* parms; -// +/// +/// Part 2, section 5.12: TPM_MIGRATIONKEYAUTH +/// decalared after section 10 to catch declaration of TPM_PUBKEY +/// +/// Part 2 section 10.1: TPM_KEY_PARMS +/// [size_is(parmSize)] BYTE* parms; +/// typedef struct tdTPM_KEY_PARMS { TPM_ALGORITHM_ID algorithmID; TPM_ENC_SCHEME encScheme; @@ -443,44 +444,44 @@ typedef struct tdTPM_KEY_PARMS { UINT8 *parms; } TPM_KEY_PARMS; -// -// Part 2, section 10.4: TPM_STORE_PUBKEY -// +/// +/// Part 2, section 10.4: TPM_STORE_PUBKEY +/// typedef struct tdTPM_STORE_PUBKEY { UINT32 keyLength; UINT8 key[1]; } TPM_STORE_PUBKEY; -// -// Part 2, section 10.5: TPM_PUBKEY -// +/// +/// Part 2, section 10.5: TPM_PUBKEY +/// typedef struct tdTPM_PUBKEY{ TPM_KEY_PARMS algorithmParms; TPM_STORE_PUBKEY pubKey; } TPM_PUBKEY; -// -// Part 2, section 5.12: TPM_MIGRATIONKEYAUTH -// +/// +/// Part 2, section 5.12: TPM_MIGRATIONKEYAUTH +/// typedef struct tdTPM_MIGRATIONKEYAUTH{ TPM_PUBKEY migrationKey; TPM_MIGRATE_SCHEME migrationScheme; TPM_DIGEST digest; } TPM_MIGRATIONKEYAUTH; -// -// Part 2, section 5.13: TPM_COUNTER_VALUE -// +/// +/// Part 2, section 5.13: TPM_COUNTER_VALUE +/// typedef struct tdTPM_COUNTER_VALUE{ TPM_STRUCTURE_TAG tag; UINT8 label[4]; TPM_ACTUAL_COUNT counter; } TPM_COUNTER_VALUE; -// -// Part 2, section 5.14: TPM_SIGN_INFO -// Size of data indicated by dataLen -// +/// +/// Part 2, section 5.14: TPM_SIGN_INFO +/// Size of data indicated by dataLen +/// typedef struct tdTPM_SIGN_INFO { TPM_STRUCTURE_TAG tag; UINT8 fixed[4]; @@ -489,18 +490,18 @@ typedef struct tdTPM_SIGN_INFO { UINT8 *data; } TPM_SIGN_INFO; -// -// Part 2, section 5.15: TPM_MSA_COMPOSITE -// Number of migAuthDigest indicated by MSAlist -// +/// +/// Part 2, section 5.15: TPM_MSA_COMPOSITE +/// Number of migAuthDigest indicated by MSAlist +/// typedef struct tdTPM_MSA_COMPOSITE { UINT32 MSAlist; TPM_DIGEST migAuthDigest[1]; } TPM_MSA_COMPOSITE; -// -// Part 2, section 5.16: TPM_CMK_AUTH -// +/// +/// Part 2, section 5.16: TPM_CMK_AUTH +/// typedef struct tdTPM_CMK_AUTH{ TPM_DIGEST migrationAuthorityDigest; TPM_DIGEST destinationKeyDigest; @@ -516,36 +517,36 @@ typedef struct tdTPM_CMK_AUTH{ #define TPM_CMK_DELEGATE_LEGACY ((TPM_CMK_DELEGATE) BIT28) #define TPM_CMK_DELEGATE_MIGRATE ((TPM_CMK_DELEGATE) BIT27) -// -// Part 2, section 5.18: TPM_SELECT_SIZE -// +/// +/// Part 2, section 5.18: TPM_SELECT_SIZE +/// typedef struct tdTPM_SELECT_SIZE { UINT8 major; UINT8 minor; UINT16 reqSize; } TPM_SELECT_SIZE; -// -// Part 2, section 5,19: TPM_CMK_MIGAUTH -// +/// +/// Part 2, section 5,19: TPM_CMK_MIGAUTH +/// typedef struct tdTPM_CMK_MIGAUTH{ TPM_STRUCTURE_TAG tag; TPM_DIGEST msaDigest; TPM_DIGEST pubKeyDigest; } TPM_CMK_MIGAUTH; -// -// Part 2, section 5.20: TPM_CMK_SIGTICKET -// +/// +/// Part 2, section 5.20: TPM_CMK_SIGTICKET +/// typedef struct tdTPM_CMK_SIGTICKET{ TPM_STRUCTURE_TAG tag; TPM_DIGEST verKeyDigest; TPM_DIGEST signedData; } TPM_CMK_SIGTICKET; -// -// Part 2, section 5.21: TPM_CMK_MA_APPROVAL -// +/// +/// Part 2, section 5.21: TPM_CMK_MA_APPROVAL +/// typedef struct tdTPM_CMK_MA_APPROVAL{ TPM_STRUCTURE_TAG tag; TPM_DIGEST migrationAuthorityDigest; @@ -561,9 +562,9 @@ typedef struct tdTPM_CMK_MA_APPROVAL{ #define TPM_TAG_RSP_AUTH1_COMMAND ((TPM_STRUCTURE_TAG) 0x00C5) #define TPM_TAG_RSP_AUTH2_COMMAND ((TPM_STRUCTURE_TAG) 0x00C6) -// -// Part 2, section 7.1: TPM_PERMANENT_FLAGS -// +/// +/// Part 2, section 7.1: TPM_PERMANENT_FLAGS +/// typedef struct tdTPM_PERMANENT_FLAGS{ TPM_STRUCTURE_TAG tag; BOOLEAN disable; @@ -610,9 +611,9 @@ typedef struct tdTPM_PERMANENT_FLAGS{ #define TPM_PF_TPMESTABLISHED ((TPM_CAPABILITY_AREA) 18) #define TPM_PF_MAINTENANCEDONE ((TPM_CAPABILITY_AREA) 19) -// -// Part 2, section 7.2: TPM_STCLEAR_FLAGS -// +/// +/// Part 2, section 7.2: TPM_STCLEAR_FLAGS +/// typedef struct tdTPM_STCLEAR_FLAGS{ TPM_STRUCTURE_TAG tag; BOOLEAN deactivated; @@ -631,9 +632,9 @@ typedef struct tdTPM_STCLEAR_FLAGS{ #define TPM_SF_PHYSICALPRESENCELOCK ((TPM_CAPABILITY_AREA) 4) #define TPM_SF_BGLOBALLOCK ((TPM_CAPABILITY_AREA) 5) -// -// Part 2, section 7.3: TPM_STANY_FLAGS -// +/// +/// Part 2, section 7.3: TPM_STANY_FLAGS +/// typedef struct tdTPM_STANY_FLAGS{ TPM_STRUCTURE_TAG tag; BOOLEAN postInitialise; @@ -659,37 +660,37 @@ typedef struct tdTPM_STANY_FLAGS{ // Part 2, section 8: PCR Structures // -// -// Part 2, section 8.1: TPM_PCR_SELECTION -// Size of pcrSelect[] indicated by sizeOfSelect -// +/// +/// Part 2, section 8.1: TPM_PCR_SELECTION +/// Size of pcrSelect[] indicated by sizeOfSelect +/// typedef struct tdTPM_PCR_SELECTION { UINT16 sizeOfSelect; UINT8 pcrSelect[1]; } TPM_PCR_SELECTION; -// -// Part 2, section 8.2: TPM_PCR_COMPOSITE -// Size of pcrValue[] indicated by valueSize -// +/// +/// Part 2, section 8.2: TPM_PCR_COMPOSITE +/// Size of pcrValue[] indicated by valueSize +/// typedef struct tdTPM_PCR_COMPOSITE { TPM_PCR_SELECTION select; UINT32 valueSize; TPM_PCRVALUE pcrValue[1]; } TPM_PCR_COMPOSITE; -// -// Part 2, section 8.3: TPM_PCR_INFO -// +/// +/// Part 2, section 8.3: TPM_PCR_INFO +/// typedef struct tdTPM_PCR_INFO { TPM_PCR_SELECTION pcrSelection; TPM_COMPOSITE_HASH digestAtRelease; TPM_COMPOSITE_HASH digestAtCreation; } TPM_PCR_INFO; -// -// Part 2, section 8.6: TPM_LOCALITY_SELECTION -// +/// +/// Part 2, section 8.6: TPM_LOCALITY_SELECTION +/// typedef UINT8 TPM_LOCALITY_SELECTION; #define TPM_LOC_FOUR ((UINT8) 0x10) @@ -698,9 +699,9 @@ typedef UINT8 TPM_LOCALITY_SELECTION; #define TPM_LOC_ONE ((UINT8) 0x02) #define TPM_LOC_ZERO ((UINT8) 0x01) -// -// Part 2, section 8.4: TPM_PCR_INFO_LONG -// +/// +/// Part 2, section 8.4: TPM_PCR_INFO_LONG +/// typedef struct tdTPM_PCR_INFO_LONG { TPM_STRUCTURE_TAG tag; TPM_LOCALITY_SELECTION localityAtCreation; @@ -711,18 +712,18 @@ typedef struct tdTPM_PCR_INFO_LONG { TPM_COMPOSITE_HASH digestAtRelease; } TPM_PCR_INFO_LONG; -// -// Part 2, section 8.5: TPM_PCR_INFO_SHORT -// +/// +/// Part 2, section 8.5: TPM_PCR_INFO_SHORT +/// typedef struct tdTPM_PCR_INFO_SHORT{ TPM_PCR_SELECTION pcrSelection; TPM_LOCALITY_SELECTION localityAtRelease; TPM_COMPOSITE_HASH digestAtRelease; } TPM_PCR_INFO_SHORT; -// -// Part 2, section 8.8: TPM_PCR_ATTRIBUTES -// +/// +/// Part 2, section 8.8: TPM_PCR_ATTRIBUTES +/// typedef struct tdTPM_PCR_ATTRIBUTES{ BOOLEAN pcrReset; TPM_LOCALITY_SELECTION pcrExtendLocal; @@ -733,11 +734,11 @@ typedef struct tdTPM_PCR_ATTRIBUTES{ // Part 2, section 9: Storage Structures // -// -// Part 2, section 9.1: TPM_STORED_DATA -// [size_is(sealInfoSize)] BYTE* sealInfo; -// [size_is(encDataSize)] BYTE* encData; -// +/// +/// Part 2, section 9.1: TPM_STORED_DATA +/// [size_is(sealInfoSize)] BYTE* sealInfo; +/// [size_is(encDataSize)] BYTE* encData; +/// typedef struct tdTPM_STORED_DATA { TPM_STRUCT_VER ver; UINT32 sealInfoSize; @@ -746,11 +747,11 @@ typedef struct tdTPM_STORED_DATA { UINT8 *encData; } TPM_STORED_DATA; -// -// Part 2, section 9.2: TPM_STORED_DATA12 -// [size_is(sealInfoSize)] BYTE* sealInfo; -// [size_is(encDataSize)] BYTE* encData; -// +/// +/// Part 2, section 9.2: TPM_STORED_DATA12 +/// [size_is(sealInfoSize)] BYTE* sealInfo; +/// [size_is(encDataSize)] BYTE* encData; +/// typedef struct tdTPM_STORED_DATA12 { TPM_STRUCTURE_TAG tag; TPM_ENTITY_TYPE et; @@ -760,10 +761,10 @@ typedef struct tdTPM_STORED_DATA12 { UINT8 *encData; } TPM_STORED_DATA12; -// -// Part 2, section 9.3: TPM_SEALED_DATA -// [size_is(dataSize)] BYTE* data; -// +/// +/// Part 2, section 9.3: TPM_SEALED_DATA +/// [size_is(dataSize)] BYTE* data; +/// typedef struct tdTPM_SEALED_DATA { TPM_PAYLOAD_TYPE payload; TPM_SECRET authData; @@ -773,10 +774,10 @@ typedef struct tdTPM_SEALED_DATA { UINT8 *data; } TPM_SEALED_DATA; -// -// Part 2, section 9.4: TPM_SYMMETRIC_KEY -// [size_is(size)] BYTE* data; -// +/// +/// Part 2, section 9.4: TPM_SYMMETRIC_KEY +/// [size_is(size)] BYTE* data; +/// typedef struct tdTPM_SYMMETRIC_KEY { TPM_ALGORITHM_ID algId; TPM_ENC_SCHEME encScheme; @@ -784,9 +785,9 @@ typedef struct tdTPM_SYMMETRIC_KEY { UINT8 *data; } TPM_SYMMETRIC_KEY; -// -// Part 2, section 9.5: TPM_BOUND_DATA -// +/// +/// Part 2, section 9.5: TPM_BOUND_DATA +/// typedef struct tdTPM_BOUND_DATA { TPM_STRUCT_VER ver; TPM_PAYLOAD_TYPE payload; @@ -801,10 +802,10 @@ typedef struct tdTPM_BOUND_DATA { // Section 10.1, 10.4, and 10.5 have been defined previously // -// -// Part 2, section 10.2: TPM_KEY -// [size_is(encDataSize)] BYTE* encData; -// +/// +/// Part 2, section 10.2: TPM_KEY +/// [size_is(encDataSize)] BYTE* encData; +/// typedef struct tdTPM_KEY{ TPM_STRUCT_VER ver; TPM_KEY_USAGE keyUsage; @@ -818,10 +819,10 @@ typedef struct tdTPM_KEY{ UINT8 *encData; } TPM_KEY; -// -// Part 2, section 10.3: TPM_KEY12 -// [size_is(encDataSize)] BYTE* encData; -// +/// +/// Part 2, section 10.3: TPM_KEY12 +/// [size_is(encDataSize)] BYTE* encData; +/// typedef struct tdTPM_KEY12{ TPM_STRUCTURE_TAG tag; UINT16 fill; @@ -836,18 +837,18 @@ typedef struct tdTPM_KEY12{ UINT8 *encData; } TPM_KEY12; -// -// Part 2, section 10.7: TPM_STORE_PRIVKEY -// [size_is(keyLength)] BYTE* key; -// +/// +/// Part 2, section 10.7: TPM_STORE_PRIVKEY +/// [size_is(keyLength)] BYTE* key; +/// typedef struct tdTPM_STORE_PRIVKEY { UINT32 keyLength; UINT8 *key; } TPM_STORE_PRIVKEY; -// -// Part 2, section 10.6: TPM_STORE_ASYMKEY -// +/// +/// Part 2, section 10.6: TPM_STORE_ASYMKEY +/// typedef struct tdTPM_STORE_ASYMKEY { // pos len total TPM_PAYLOAD_TYPE payload; // 0 1 1 TPM_SECRET usageAuth; // 1 20 21 @@ -856,10 +857,10 @@ typedef struct tdTPM_STORE_ASYMKEY { // pos len total TPM_STORE_PRIVKEY privKey; // 61 132-151 193-214 } TPM_STORE_ASYMKEY; -// -// Part 2, section 10.8: TPM_MIGRATE_ASYMKEY -// [size_is(partPrivKeyLen)] BYTE* partPrivKey; -// +/// +/// Part 2, section 10.8: TPM_MIGRATE_ASYMKEY +/// [size_is(partPrivKeyLen)] BYTE* partPrivKey; +/// typedef struct tdTPM_MIGRATE_ASYMKEY { // pos len total TPM_PAYLOAD_TYPE payload; // 0 1 1 TPM_SECRET usageAuth; // 1 20 21 @@ -868,18 +869,18 @@ typedef struct tdTPM_MIGRATE_ASYMKEY { // pos len total UINT8 *partPrivKey; // 45 112-127 157-172 } TPM_MIGRATE_ASYMKEY; -// -// Part 2, section 10.9: TPM_KEY_CONTROL -// +/// +/// Part 2, section 10.9: TPM_KEY_CONTROL +/// #define TPM_KEY_CONTROL_OWNER_EVICT ((UINT32) 0x00000001) // // Part 2, section 11: Signed Structures // -// -// Part 2, section 11.1: TPM_CERTIFY_INFO Structure -// +/// +/// Part 2, section 11.1: TPM_CERTIFY_INFO Structure +/// typedef struct tdTPM_CERTIFY_INFO { TPM_STRUCT_VER version; TPM_KEY_USAGE keyUsage; @@ -893,9 +894,9 @@ typedef struct tdTPM_CERTIFY_INFO { UINT8 *PCRInfo; } TPM_CERTIFY_INFO; -// -// Part 2, section 11.2: TPM_CERTIFY_INFO2 Structure -// +/// +/// Part 2, section 11.2: TPM_CERTIFY_INFO2 Structure +/// typedef struct tdTPM_CERTIFY_INFO2 { TPM_STRUCTURE_TAG tag; UINT8 fill; @@ -913,9 +914,9 @@ typedef struct tdTPM_CERTIFY_INFO2 { UINT8 *migrationAuthority; } TPM_CERTIFY_INFO2; -// -// Part 2, section 11.3 TPM_QUOTE_INFO Structure -// +/// +/// Part 2, section 11.3 TPM_QUOTE_INFO Structure +/// typedef struct tdTPM_QUOTE_INFO { TPM_STRUCT_VER version; UINT8 fixed[4]; @@ -923,9 +924,9 @@ typedef struct tdTPM_QUOTE_INFO { TPM_NONCE externalData; } TPM_QUOTE_INFO; -// -// Part 2, section 11.4 TPM_QUOTE_INFO2 Structure -// +/// +/// Part 2, section 11.4 TPM_QUOTE_INFO2 Structure +/// typedef struct tdTPM_QUOTE_INFO2 { TPM_STRUCTURE_TAG tag; UINT8 fixed[4]; @@ -937,9 +938,9 @@ typedef struct tdTPM_QUOTE_INFO2 { // Part 2, section 12: Identity Structures // -// -// Part 2, section 12.1 TPM_EK_BLOB -// +/// +/// Part 2, section 12.1 TPM_EK_BLOB +/// typedef struct tdTPM_EK_BLOB { TPM_STRUCTURE_TAG tag; TPM_EK_TYPE ekType; @@ -947,9 +948,9 @@ typedef struct tdTPM_EK_BLOB { UINT8 *blob; } TPM_EK_BLOB; -// -// Part 2, section 12.2 TPM_EK_BLOB_ACTIVATE -// +/// +/// Part 2, section 12.2 TPM_EK_BLOB_ACTIVATE +/// typedef struct tdTPM_EK_BLOB_ACTIVATE { TPM_STRUCTURE_TAG tag; TPM_SYMMETRIC_KEY sessionKey; @@ -957,18 +958,18 @@ typedef struct tdTPM_EK_BLOB_ACTIVATE { TPM_PCR_INFO_SHORT pcrInfo; } TPM_EK_BLOB_ACTIVATE; -// -// Part 2, section 12.3 TPM_EK_BLOB_AUTH -// +/// +/// Part 2, section 12.3 TPM_EK_BLOB_AUTH +/// typedef struct tdTPM_EK_BLOB_AUTH { TPM_STRUCTURE_TAG tag; TPM_SECRET authValue; } TPM_EK_BLOB_AUTH; -// -// Part 2, section 12.5 TPM_IDENTITY_CONTENTS -// +/// +/// Part 2, section 12.5 TPM_IDENTITY_CONTENTS +/// typedef struct tdTPM_IDENTITY_CONTENTS { TPM_STRUCT_VER ver; UINT32 ordinal; @@ -976,9 +977,9 @@ typedef struct tdTPM_IDENTITY_CONTENTS { TPM_PUBKEY identityPubKey; } TPM_IDENTITY_CONTENTS; -// -// Part 2, section 12.6 TPM_IDENTITY_REQ -// +/// +/// Part 2, section 12.6 TPM_IDENTITY_REQ +/// typedef struct tdTPM_IDENTITY_REQ { UINT32 asymSize; UINT32 symSize; @@ -988,9 +989,9 @@ typedef struct tdTPM_IDENTITY_REQ { UINT8 *symBlob; } TPM_IDENTITY_REQ; -// -// Part 2, section 12.7 TPM_IDENTITY_PROOF -// +/// +/// Part 2, section 12.7 TPM_IDENTITY_PROOF +/// typedef struct tdTPM_IDENTITY_PROOF { TPM_STRUCT_VER ver; UINT32 labelSize; @@ -1006,27 +1007,27 @@ typedef struct tdTPM_IDENTITY_PROOF { UINT8 *conformanceCredential; } TPM_IDENTITY_PROOF; -// -// Part 2, section 12.8 TPM_ASYM_CA_CONTENTS -// +/// +/// Part 2, section 12.8 TPM_ASYM_CA_CONTENTS +/// typedef struct tdTPM_ASYM_CA_CONTENTS { TPM_SYMMETRIC_KEY sessionKey; TPM_DIGEST idDigest; } TPM_ASYM_CA_CONTENTS; -// -// Part 2, section 12.9 TPM_SYM_CA_ATTESTATION -// +/// +/// Part 2, section 12.9 TPM_SYM_CA_ATTESTATION +/// typedef struct tdTPM_SYM_CA_ATTESTATION { UINT32 credSize; TPM_KEY_PARMS algorithm; UINT8 *credential; } TPM_SYM_CA_ATTESTATION; -// -// Part 2, section 15: Tick Structures -// Placed here out of order because definitions are used in section 13. -// +/// +/// Part 2, section 15: Tick Structures +/// Placed here out of order because definitions are used in section 13. +/// typedef struct tdTPM_CURRENT_TICKS { TPM_STRUCTURE_TAG tag; UINT64 currentTicks; @@ -1034,13 +1035,13 @@ typedef struct tdTPM_CURRENT_TICKS { TPM_NONCE tickNonce; } TPM_CURRENT_TICKS; -// -// Part 2, section 13: Transport structures -// +/// +/// Part 2, section 13: Transport structures +/// -// -// Part 2, section 13.1: TPM _TRANSPORT_PUBLIC -// +/// +/// Part 2, section 13.1: TPM _TRANSPORT_PUBLIC +/// typedef struct tdTPM_TRANSPORT_PUBLIC { TPM_STRUCTURE_TAG tag; TPM_TRANSPORT_ATTRIBUTES transAttributes; @@ -1055,9 +1056,9 @@ typedef struct tdTPM_TRANSPORT_PUBLIC { #define TPM_TRANSPORT_LOG ((UINT32)0x00000002) #define TPM_TRANSPORT_EXCLUSIVE ((UINT32)0x00000004) -// -// Part 2, section 13.2 TPM_TRANSPORT_INTERNAL -// +/// +/// Part 2, section 13.2 TPM_TRANSPORT_INTERNAL +/// typedef struct tdTPM_TRANSPORT_INTERNAL { TPM_STRUCTURE_TAG tag; TPM_AUTHDATA authData; @@ -1067,18 +1068,18 @@ typedef struct tdTPM_TRANSPORT_INTERNAL { TPM_DIGEST transDigest; } TPM_TRANSPORT_INTERNAL; -// -// Part 2, section 13.3 TPM_TRANSPORT_LOG_IN structure -// +/// +/// Part 2, section 13.3 TPM_TRANSPORT_LOG_IN structure +/// typedef struct tdTPM_TRANSPORT_LOG_IN { TPM_STRUCTURE_TAG tag; TPM_DIGEST parameters; TPM_DIGEST pubKeyHash; } TPM_TRANSPORT_LOG_IN; -// -// Part 2, section 13.4 TPM_TRANSPORT_LOG_OUT structure -// +/// +/// Part 2, section 13.4 TPM_TRANSPORT_LOG_OUT structure +/// typedef struct tdTPM_TRANSPORT_LOG_OUT { TPM_STRUCTURE_TAG tag; TPM_CURRENT_TICKS currentTicks; @@ -1086,9 +1087,9 @@ typedef struct tdTPM_TRANSPORT_LOG_OUT { TPM_MODIFIER_INDICATOR locality; } TPM_TRANSPORT_LOG_OUT; -// -// Part 2, section 13.5 TPM_TRANSPORT_AUTH structure -// +/// +/// Part 2, section 13.5 TPM_TRANSPORT_AUTH structure +/// typedef struct tdTPM_TRANSPORT_AUTH { TPM_STRUCTURE_TAG tag; TPM_AUTHDATA authData; @@ -1098,18 +1099,18 @@ typedef struct tdTPM_TRANSPORT_AUTH { // Part 2, section 14: Audit Structures // -// -// Part 2, section 14.1 TPM_AUDIT_EVENT_IN structure -// +/// +/// Part 2, section 14.1 TPM_AUDIT_EVENT_IN structure +/// typedef struct tdTPM_AUDIT_EVENT_IN { TPM_STRUCTURE_TAG tag; TPM_DIGEST inputParms; TPM_COUNTER_VALUE auditCount; } TPM_AUDIT_EVENT_IN; -// -// Part 2, section 14.2 TPM_AUDIT_EVENT_OUT structure -// +/// +/// Part 2, section 14.2 TPM_AUDIT_EVENT_OUT structure +/// typedef struct tdTPM_AUDIT_EVENT_OUT { TPM_STRUCTURE_TAG tag; TPM_COMMAND_CODE ordinal; @@ -1388,9 +1389,9 @@ typedef struct tdTPM_AUDIT_EVENT_OUT { // Part 2, section 18: Context structures // -// -// Part 2, section 18.1: TPM_CONTEXT_BLOB -// +/// +/// Part 2, section 18.1: TPM_CONTEXT_BLOB +/// typedef struct tdTPM_CONTEXT_BLOB { TPM_STRUCTURE_TAG tag; TPM_RESOURCE_TYPE resourceType; @@ -1404,9 +1405,9 @@ typedef struct tdTPM_CONTEXT_BLOB { UINT8 *sensitiveData; } TPM_CONTEXT_BLOB; -// -// Part 2, section 18.2 TPM_CONTEXT_SENSITIVE -// +/// +/// Part 2, section 18.2 TPM_CONTEXT_SENSITIVE +/// typedef struct tdTPM_CONTEXT_SENSITIVE { TPM_STRUCTURE_TAG tag; TPM_NONCE contextNonce; @@ -1438,15 +1439,20 @@ typedef struct tdTPM_CONTEXT_SENSITIVE { #define TPM_NV_INDEX_PERIPHERAL_BASE ((UINT32)0x00011500) #define TPM_NV_INDEX_GROUP_RESV_BASE ((UINT32)0x00010000) -// -// The typedefs TPM_NV_PER_ATTRIBUTES (not present in TPM 1.2 Spec. have been added -// and structure fields that were to hold the following values -// +/// +/// The typedefs TPM_NV_PER_ATTRIBUTES (not present in TPM 1.2 Spec. have been added +/// and structure fields that were to hold the following values +/// typedef UINT32 TPM_NV_PER_ATTRIBUTES; -// -// Part 2, section 19.2: TPM_NV_ATTRIBUTES -// +/// +/// Part 2, section 19.2: TPM_NV_ATTRIBUTES +/// +typedef struct tdTPM_NV_ATTRIBUTES { + TPM_STRUCTURE_TAG tag; + TPM_NV_PER_ATTRIBUTES attributes; +} TPM_NV_ATTRIBUTES; + #define TPM_NV_PER_READ_STCLEAR (BIT31) #define TPM_NV_PER_AUTHREAD (BIT18) #define TPM_NV_PER_OWNERREAD (BIT17) @@ -1459,14 +1465,9 @@ typedef UINT32 TPM_NV_PER_ATTRIBUTES; #define TPM_NV_PER_OWNERWRITE (BIT1) #define TPM_NV_PER_PPWRITE (BIT0) -typedef struct tdTPM_NV_ATTRIBUTES { - TPM_STRUCTURE_TAG tag; - TPM_NV_PER_ATTRIBUTES attributes; -} TPM_NV_ATTRIBUTES; - -// -// Part 2, section 19.3: TPM_NV_DATA_PUBLIC -// +/// +/// Part 2, section 19.3: TPM_NV_DATA_PUBLIC +/// typedef struct tdTPM_NV_DATA_PUBLIC { TPM_STRUCTURE_TAG tag; TPM_NV_INDEX nvIndex; @@ -1567,16 +1568,16 @@ typedef struct tdTPM_DELEGATIONS { #define TPM_DELEGATE_ADMIN_LOCK (BIT1) #define TPM_FAMFLAG_ENABLE (BIT0) -// -// Part 2, section 20.4: TPM_FAMILY_LABEL -// +/// +/// Part 2, section 20.4: TPM_FAMILY_LABEL +/// typedef struct tdTPM_FAMILY_LABEL { UINT8 label; } TPM_FAMILY_LABEL; -// -// Part 2, section 20.5: TPM_FAMILY_TABLE_ENTRY -// +/// +/// Part 2, section 20.5: TPM_FAMILY_TABLE_ENTRY +/// typedef struct tdTPM_FAMILY_TABLE_ENTRY { TPM_STRUCTURE_TAG tag; TPM_FAMILY_LABEL label; @@ -1594,16 +1595,16 @@ typedef struct tdTPM_FAMILY_TABLE{ TPM_FAMILY_TABLE_ENTRY famTableRow[TPM_NUM_FAMILY_TABLE_ENTRY_MIN]; } TPM_FAMILY_TABLE; -// -// Part 2, section 20.7: TPM_DELEGATE_LABEL -// +/// +/// Part 2, section 20.7: TPM_DELEGATE_LABEL +/// typedef struct tdTPM_DELEGATE_LABEL { UINT8 label; } TPM_DELEGATE_LABEL; -// -// Part 2, section 20.8: TPM_DELEGATE_PUBLIC -// +/// +/// Part 2, section 20.8: TPM_DELEGATE_PUBLIC +/// typedef struct tdTPM_DELEGATE_PUBLIC { TPM_STRUCTURE_TAG tag; TPM_DELEGATE_LABEL label; @@ -1613,9 +1614,9 @@ typedef struct tdTPM_DELEGATE_PUBLIC { TPM_FAMILY_VERIFICATION verificationCount; } TPM_DELEGATE_PUBLIC; -// -// Part 2, section 20.9: TPM_DELEGATE_TABLE_ROW -// +/// +/// Part 2, section 20.9: TPM_DELEGATE_TABLE_ROW +/// typedef struct tdTPM_DELEGATE_TABLE_ROW { TPM_STRUCTURE_TAG tag; TPM_DELEGATE_PUBLIC pub; @@ -1631,17 +1632,17 @@ typedef struct tdTPM_DELEGATE_TABLE{ TPM_DELEGATE_TABLE_ROW delRow[TPM_NUM_DELEGATE_TABLE_ENTRY_MIN]; } TPM_DELEGATE_TABLE; -// -// Part 2, section 20.11: TPM_DELEGATE_SENSITIVE -// +/// +/// Part 2, section 20.11: TPM_DELEGATE_SENSITIVE +/// typedef struct tdTPM_DELEGATE_SENSITIVE { TPM_STRUCTURE_TAG tag; TPM_SECRET authValue; } TPM_DELEGATE_SENSITIVE; -// -// Part 2, section 20.12: TPM_DELEGATE_OWNER_BLOB -// +/// +/// Part 2, section 20.12: TPM_DELEGATE_OWNER_BLOB +/// typedef struct tdTPM_DELEGATE_OWNER_BLOB { TPM_STRUCTURE_TAG tag; TPM_DELEGATE_PUBLIC pub; @@ -1652,9 +1653,9 @@ typedef struct tdTPM_DELEGATE_OWNER_BLOB { UINT8 *sensitiveArea; } TPM_DELEGATE_OWNER_BLOB; -// -// Part 2, section 20.13: TTPM_DELEGATE_KEY_BLOB -// +/// +/// Part 2, section 20.13: TTPM_DELEGATE_KEY_BLOB +/// typedef struct tdTPM_DELEGATE_KEY_BLOB { TPM_STRUCTURE_TAG tag; TPM_DELEGATE_PUBLIC pub; @@ -1734,10 +1735,10 @@ typedef struct tdTPM_DELEGATE_KEY_BLOB { #define TPM_CAP_PROP_MAX_NV_AVAILABLE ((TPM_CAPABILITY_AREA) 0x00000123) #define TPM_CAP_PROP_INPUT_BUFFER ((TPM_CAPABILITY_AREA) 0x00000124) -// -// Part 2, section 21.6: TPM_CAP_VERSION_INFO -// [size_is(vendorSpecificSize)] BYTE* vendorSpecific; -// +/// +/// Part 2, section 21.6: TPM_CAP_VERSION_INFO +/// [size_is(vendorSpecificSize)] BYTE* vendorSpecific; +/// typedef struct tdTPM_CAP_VERSION_INFO { TPM_STRUCTURE_TAG tag; TPM_VERSION version; @@ -1772,9 +1773,9 @@ typedef struct tdTPM_CAP_VERSION_INFO { #define TPM_DAA_power0 (104) #define TPM_DAA_power1 (1024) -// -// Part 2, section 22.3: TPM_DAA_ISSUER -// +/// +/// Part 2, section 22.3: TPM_DAA_ISSUER +/// typedef struct tdTPM_DAA_ISSUER { TPM_STRUCTURE_TAG tag; TPM_DIGEST DAA_digest_R0; @@ -1786,9 +1787,9 @@ typedef struct tdTPM_DAA_ISSUER { UINT8 DAA_generic_q[26]; } TPM_DAA_ISSUER; -// -// Part 2, section 22.4: TPM_DAA_TPM -// +/// +/// Part 2, section 22.4: TPM_DAA_TPM +/// typedef struct tdTPM_DAA_TPM { TPM_STRUCTURE_TAG tag; TPM_DIGEST DAA_digestIssuer; @@ -1798,9 +1799,9 @@ typedef struct tdTPM_DAA_TPM { UINT32 DAA_count; } TPM_DAA_TPM; -// -// Part 2, section 22.5: TPM_DAA_CONTEXT -// +/// +/// Part 2, section 22.5: TPM_DAA_CONTEXT +/// typedef struct tdTPM_DAA_CONTEXT { TPM_STRUCTURE_TAG tag; TPM_DIGEST DAA_digestContext; @@ -1810,18 +1811,18 @@ typedef struct tdTPM_DAA_CONTEXT { UINT8 DAA_stage; } TPM_DAA_CONTEXT; -// -// Part 2, section 22.6: TPM_DAA_JOINDATA -// +/// +/// Part 2, section 22.6: TPM_DAA_JOINDATA +/// typedef struct tdTPM_DAA_JOINDATA { UINT8 DAA_join_u0[128]; UINT8 DAA_join_u1[138]; TPM_DIGEST DAA_digest_n0; } TPM_DAA_JOINDATA; -// -// Part 2, section 22.8: TPM_DAA_BLOB -// +/// +/// Part 2, section 22.8: TPM_DAA_BLOB +/// typedef struct tdTPM_DAA_BLOB { TPM_STRUCTURE_TAG tag; TPM_RESOURCE_TYPE resourceType; @@ -1833,9 +1834,9 @@ typedef struct tdTPM_DAA_BLOB { UINT8 *sensitiveData; } TPM_DAA_BLOB; -// -// Part 2, section 22.9: TPM_DAA_SENSITIVE -// +/// +/// Part 2, section 22.9: TPM_DAA_SENSITIVE +/// typedef struct tdTPM_DAA_SENSITIVE { TPM_STRUCTURE_TAG tag; UINT32 internalSize; @@ -1847,18 +1848,18 @@ typedef struct tdTPM_DAA_SENSITIVE { // Part 2, section 23: Redirection // -// -// Part 2 section 23.1: TPM_REDIR_COMMAND -// This section defines exactly one value but does not -// give it a name. The definition of TPM_SetRedirection in Part3 -// refers to exactly one name but does not give its value. We join -// them here. -// +/// +/// Part 2 section 23.1: TPM_REDIR_COMMAND +/// This section defines exactly one value but does not +/// give it a name. The definition of TPM_SetRedirection in Part3 +/// refers to exactly one name but does not give its value. We join +/// them here. +/// #define TPM_REDIR_GPIO (0x00000001) -// -// TPM Command & Response Headers defined in Part 3 -// +/// +/// TPM Command & Response Headers defined in Part 3 +/// typedef struct tdTPM_RQU_COMMAND_HDR { TPM_STRUCTURE_TAG tag; UINT32 paramSize; diff --git a/MdePkg/Include/IndustryStandard/Usb.h b/MdePkg/Include/IndustryStandard/Usb.h index ec86d8b794..142b794167 100644 --- a/MdePkg/Include/IndustryStandard/Usb.h +++ b/MdePkg/Include/IndustryStandard/Usb.h @@ -334,6 +334,7 @@ typedef enum { #pragma pack(1) /// /// Descriptor header for Report/Physical Descriptors +/// HID 1.1, section 6.2.1 /// typedef struct hid_class_descriptor { UINT8 DescriptorType; @@ -343,6 +344,7 @@ typedef struct hid_class_descriptor { /// /// The HID descriptor identifies the length and type /// of subordinate descriptors for a device. +/// HID 1.1, section 6.2.1 /// typedef struct hid_descriptor { UINT8 Length; diff --git a/MdePkg/Include/IndustryStandard/WatchdogActionTable.h b/MdePkg/Include/IndustryStandard/WatchdogActionTable.h index f2026ecd87..ab67c3fd92 100644 --- a/MdePkg/Include/IndustryStandard/WatchdogActionTable.h +++ b/MdePkg/Include/IndustryStandard/WatchdogActionTable.h @@ -1,6 +1,6 @@ /** @file ACPI Watchdog Action Table (WADT) as defined at - Microsoft Hardware Watchdog Timers Design Specification + Microsoft Hardware Watchdog Timers Design Specification. Copyright (c) 2008, Intel Corporation All rights reserved. This program and the accompanying materials