summaryrefslogtreecommitdiff
path: root/MdePkg/Include/Pi
diff options
context:
space:
mode:
authorlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>2008-12-10 08:22:03 +0000
committerlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>2008-12-10 08:22:03 +0000
commit1bf793701b3af2a002bd5cd11a1cc7c02cdb141d (patch)
tree2ffbc71b63a2bc8373c9951622a5fa8dc24a2835 /MdePkg/Include/Pi
parent2c6d600e1cf7a20ce92da563acfc7258c3c2bb7b (diff)
downloadedk2-platforms-1bf793701b3af2a002bd5cd11a1cc7c02cdb141d.tar.xz
Add comments for enumeration, structure data members those are referred by UefiService, Runtime Service, Dxe Service and Pei Service.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6974 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdePkg/Include/Pi')
-rw-r--r--MdePkg/Include/Pi/PiDxeCis.h55
-rw-r--r--MdePkg/Include/Pi/PiFirmwareFile.h70
-rw-r--r--MdePkg/Include/Pi/PiFirmwareVolume.h70
-rw-r--r--MdePkg/Include/Pi/PiHob.h147
-rw-r--r--MdePkg/Include/Pi/PiMultiPhase.h9
-rw-r--r--MdePkg/Include/Pi/PiPeiCis.h32
6 files changed, 359 insertions, 24 deletions
diff --git a/MdePkg/Include/Pi/PiDxeCis.h b/MdePkg/Include/Pi/PiDxeCis.h
index c98c6bc0f6..72f0f4088a 100644
--- a/MdePkg/Include/Pi/PiDxeCis.h
+++ b/MdePkg/Include/Pi/PiDxeCis.h
@@ -24,9 +24,28 @@
/// Global Coherencey Domain types - Memory type
///
typedef enum {
+ ///
+ /// A memory region that is visible to the boot processor. However, there are no system
+ /// components that are currently decoding this memory region.
+ ///
EfiGcdMemoryTypeNonExistent,
+ ///
+ /// A memory region that is visible to the boot processor. This memory region is being
+ /// decoded by a system component, but the memory region is not considered to be either
+ /// system memory or memory-mapped I/O.
+ ///
EfiGcdMemoryTypeReserved,
+ ///
+ /// A memory region that is visible to the boot processor. A memory controller is
+ /// currently decoding this memory region and the memory controller is producing a
+ /// tested system memory region that is available to the memory services.
+ ///
EfiGcdMemoryTypeSystemMemory,
+ ///
+ /// A memory region that is visible to the boot processor. This memory region is
+ /// currently being decoded by a component as memory-mapped I/O that can be used to
+ /// access I/O devices in the platform.
+ ///
EfiGcdMemoryTypeMemoryMappedIo,
EfiGcdMemoryTypeMaximum
} EFI_GCD_MEMORY_TYPE;
@@ -35,8 +54,20 @@ typedef enum {
/// Global Coherencey Domain types - IO type
///
typedef enum {
+ ///
+ /// An I/O region that is visible to the boot processor. However, there are no system
+ /// components that are currently decoding this I/O region.
+ ///
EfiGcdIoTypeNonExistent,
+ ///
+ /// An I/O region that is visible to the boot processor. This I/O region is currently being
+ /// decoded by a system component, but the I/O region cannot be used to access I/O devices.
+ ///
EfiGcdIoTypeReserved,
+ ///
+ /// An I/O region that is visible to the boot processor. This I/O region is currently being
+ /// decoded by a system component that is producing I/O ports that can be used to access I/O devices.
+ ///
EfiGcdIoTypeIo,
EfiGcdIoTypeMaximum
} EFI_GCD_IO_TYPE;
@@ -45,10 +76,30 @@ typedef enum {
/// The type of allocation to perform.
///
typedef enum {
+ ///
+ /// The GCD memory space map is searched from the lowest address up to the highest address
+ /// looking for unallocated memory ranges.
+ ///
EfiGcdAllocateAnySearchBottomUp,
+ ///
+ /// The GCD memory space map is searched from the lowest address up
+ /// to the specified MaxAddress looking for unallocated memory ranges.
+ ///
EfiGcdAllocateMaxAddressSearchBottomUp,
+ ///
+ /// The GCD memory space map is checked to see if the memory range starting
+ /// at the specified Address is available.
+ ///
EfiGcdAllocateAddress,
+ ///
+ /// The GCD memory space map is searched from the highest address down to the lowest address
+ /// looking for unallocated memory ranges.
+ ///
EfiGcdAllocateAnySearchTopDown,
+ ///
+ /// The GCD memory space map is searched from the specified MaxAddress
+ /// down to the lowest address looking for unallocated memory ranges.
+ ///
EfiGcdAllocateMaxAddressSearchTopDown,
EfiGcdMaxAllocateType
} EFI_GCD_ALLOCATE_TYPE;
@@ -606,6 +657,10 @@ EFI_STATUS
#define DXE_SERVICES_REVISION ((1<<16) | (00))
typedef struct {
+ ///
+ /// The table header for the DXE Services Table.
+ /// This header contains the DXE_SERVICES_SIGNATURE and DXE_SERVICES_REVISION values.
+ ///
EFI_TABLE_HEADER Hdr;
//
diff --git a/MdePkg/Include/Pi/PiFirmwareFile.h b/MdePkg/Include/Pi/PiFirmwareFile.h
index 65f47a59b4..8d5dd336f9 100644
--- a/MdePkg/Include/Pi/PiFirmwareFile.h
+++ b/MdePkg/Include/Pi/PiFirmwareFile.h
@@ -27,9 +27,27 @@
///
typedef union {
struct {
+ ///
+ /// The IntegrityCheck.Checksum.Header field is an 8-bit checksum of the file
+ /// header. The State and IntegrityCheck.Checksum.File fields are assumed
+ /// to be zero and the checksum is calculated such that the entire header sums to zero.
+ ///
UINT8 Header;
+ ///
+ /// If the FFS_ATTRIB_CHECKSUM (see definition below) bit of the Attributes
+ /// field is set to one, the IntegrityCheck.Checksum.File field is an 8-bit
+ /// checksum of the entire file The State field and the file tail are assumed to be zero
+ /// and the checksum is calculated such that the entire file sums to zero.
+ /// If the FFS_ATTRIB_CHECKSUM bit of the Attributes field is cleared to zero,
+ /// the IntegrityCheck.Checksum.File field must be initialized with a value of
+ /// 0x55AA. The IntegrityCheck.Checksum.File field is valid any time the
+ /// EFI_FILE_DATA_VALID bit is set in the State field.
+ ///
UINT8 File;
} Checksum;
+ ///
+ /// This is the full 16 bits of the IntegrityCheck field.
+ ///
UINT16 Checksum16;
} EFI_FFS_INTEGRITY_CHECK;
@@ -81,11 +99,29 @@ typedef UINT8 EFI_FFS_FILE_STATE;
/// contents and state of the files.
///
typedef struct {
+ ///
+ /// This GUID is the file name. It is used to uniquely identify the file.
+ ///
EFI_GUID Name;
+ ///
+ /// Used to verify the integrity of the file.
+ ///
EFI_FFS_INTEGRITY_CHECK IntegrityCheck;
+ ///
+ /// Identifies the type of file.
+ ///
EFI_FV_FILETYPE Type;
+ ///
+ /// Declares various file attribute bits.
+ ///
EFI_FFS_FILE_ATTRIBUTES Attributes;
+ ///
+ /// The length of the file in bytes, including the FFS header.
+ ///
UINT8 Size[3];
+ ///
+ /// Used to track the state of the file throughout the life of the file from creation to deletion.
+ ///
EFI_FFS_FILE_STATE State;
} EFI_FFS_FILE_HEADER;
@@ -125,8 +161,15 @@ typedef UINT8 EFI_SECTION_TYPE;
/// Common section header
///
typedef struct {
+ ///
+ /// A 24-bit unsigned integer that contains the total size of the section in bytes,
+ /// including the EFI_COMMON_SECTION_HEADER.
+ ///
UINT8 Size[3];
EFI_SECTION_TYPE Type;
+ ///
+ /// Declares the section type.
+ ///
} EFI_COMMON_SECTION_HEADER;
///
@@ -145,8 +188,17 @@ typedef EFI_COMMON_SECTION_HEADER EFI_COMPATIBILITY16_SECTION;
/// section data is compressed.
///
typedef struct {
+ ///
+ /// Usual common section header. CommonHeader.Type = EFI_SECTION_COMPRESSION.
+ ///
EFI_COMMON_SECTION_HEADER CommonHeader;
+ ///
+ /// UINT32 that indicates the size of the section data after decompression.
+ ///
UINT32 UncompressedLength;
+ ///
+ /// Indicates which compression algorithm is used.
+ ///
UINT8 CompressionType;
} EFI_COMPRESSION_SECTION;
@@ -164,7 +216,13 @@ typedef EFI_COMMON_SECTION_HEADER EFI_FIRMWARE_VOLUME_IMAGE_SECTION;
/// Leaf section which contains a single GUID.
///
typedef struct {
+ ///
+ /// Common section header. CommonHeader.Type = EFI_SECTION_FREEFORM_SUBTYPE_GUID.
+ ///
EFI_COMMON_SECTION_HEADER CommonHeader;
+ ///
+ /// This GUID is defined by the creator of the file. It is a vendor-defined file type.
+ ///
EFI_GUID SubTypeGuid;
} EFI_FREEFORM_SUBTYPE_GUID_SECTION;
@@ -177,9 +235,21 @@ typedef struct {
/// Leaf section which is encapsulation defined by specific GUID
///
typedef struct {
+ ///
+ /// Common section header. CommonHeader.Type = EFI_SECTION_GUID_DEFINED.
+ ///
EFI_COMMON_SECTION_HEADER CommonHeader;
+ ///
+ /// GUID that defines the format of the data that follows. It is a vendor-defined section type.
+ ///
EFI_GUID SectionDefinitionGuid;
+ ///
+ /// Contains the offset in bytes from the beginning of the common header to the first byte of the data.
+ ///
UINT16 DataOffset;
+ ///
+ /// Bit field that declares some specific characteristics of the section contents.
+ ///
UINT16 Attributes;
} EFI_GUID_DEFINED_SECTION;
diff --git a/MdePkg/Include/Pi/PiFirmwareVolume.h b/MdePkg/Include/Pi/PiFirmwareVolume.h
index 64c1144bb6..d5614745fb 100644
--- a/MdePkg/Include/Pi/PiFirmwareVolume.h
+++ b/MdePkg/Include/Pi/PiFirmwareVolume.h
@@ -91,7 +91,13 @@ typedef UINT32 EFI_FVB_ATTRIBUTES_2;
typedef struct {
+ ///
+ /// The number of sequential blocks which are of the same size.
+ ///
UINT32 NumBlocks;
+ ///
+ /// The size of the blocks.
+ ///
UINT32 Length;
} EFI_FV_BLOCK_MAP_ENTRY;
@@ -99,16 +105,53 @@ typedef struct {
/// Describes the features and layout of the firmware volume.
///
typedef struct {
+ ///
+ /// The first 16 bytes are reserved to allow for the reset vector of
+ /// processors whose reset vector is at address 0.
+ ///
UINT8 ZeroVector[16];
+ ///
+ /// Declares the file system with which the firmware volume is formatted.
+ ///
EFI_GUID FileSystemGuid;
+ ///
+ /// Length in bytes of the complete firmware volume, including the header.
+ ///
UINT64 FvLength;
+ ///
+ /// Set to EFI_FVH_SIGNATURE
+ ///
UINT32 Signature;
+ ///
+ /// Declares capabilities and power-on defaults for the firmware volume.
+ ///
EFI_FVB_ATTRIBUTES_2 Attributes;
+ ///
+ /// Length in bytes of the complete firmware volume header.
+ ///
UINT16 HeaderLength;
+ ///
+ /// A 16-bit checksum of the firmware volume header. A valid header sums to zero.
+ ///
UINT16 Checksum;
+ ///
+ /// Offset, relative to the start of the header, of the extended header
+ /// (EFI_FIRMWARE_VOLUME_EXT_HEADER) or zero if there is no extended header.
+ ///
UINT16 ExtHeaderOffset;
+ ///
+ /// This field must always be set to zero.
+ ///
UINT8 Reserved[1];
+ ///
+ /// Set to 2. Future versions of this specification may define new header fields and will
+ /// increment the Revision field accordingly.
+ ///
UINT8 Revision;
+ ///
+ /// An array of run-length encoded FvBlockMapEntry structures. The array is
+ /// terminated with an entry of {0,0}.
+ ///
EFI_FV_BLOCK_MAP_ENTRY BlockMap[1];
} EFI_FIRMWARE_VOLUME_HEADER;
@@ -123,7 +166,13 @@ typedef struct {
/// Extension header pointed by ExtHeaderOffset of volume header.
///
typedef struct {
+ ///
+ /// Firmware volume name.
+ ///
EFI_GUID FvName;
+ ///
+ /// Size of the rest of the extension header, including this structure.
+ ///
UINT32 ExtHeaderSize;
} EFI_FIRMWARE_VOLUME_EXT_HEADER;
@@ -131,7 +180,13 @@ typedef struct {
/// Entry struture for describing FV extension header
///
typedef struct {
+ ///
+ /// Size of this header extension.
+ ///
UINT16 ExtEntrySize;
+ ///
+ /// Type of the header.
+ ///
UINT16 ExtEntryType;
} EFI_FIRMWARE_VOLUME_EXT_ENTRY;
@@ -140,13 +195,18 @@ typedef struct {
/// This extension header provides a mapping between a GUID and an OEM file type.
///
typedef struct {
+ ///
+ /// Standard extension entry, with the type EFI_FV_EXT_TYPE_OEM_TYPE.
+ ///
EFI_FIRMWARE_VOLUME_EXT_ENTRY Hdr;
+ ///
+ /// A bit mask, one bit for each file type between 0xC0 (bit 0) and 0xDF (bit 31). If a bit
+ /// is '1', then the GUID entry exists in Types. If a bit is '0' then no GUID entry exists in Types.
+ ///
UINT32 TypeMask;
-
- //
- // Array of GUIDs.
- // Each GUID represents an OEM file type.
- //
+ ///
+ /// An array of GUIDs, each GUID representing an OEM file type.
+ ///
EFI_GUID Types[1];
} EFI_FIRMWARE_VOLUME_EXT_ENTRY_OEM_TYPE;
diff --git a/MdePkg/Include/Pi/PiHob.h b/MdePkg/Include/Pi/PiHob.h
index e1926ce67a..7f4bf8a927 100644
--- a/MdePkg/Include/Pi/PiHob.h
+++ b/MdePkg/Include/Pi/PiHob.h
@@ -43,8 +43,17 @@
/// All HOBs must contain this generic HOB header.
///
typedef struct {
+ ///
+ /// Identifies the HOB data structure type.
+ ///
UINT16 HobType;
+ ///
+ /// The length in bytes of the HOB.
+ ///
UINT16 HobLength;
+ ///
+ /// This field must always be set to zero.
+ ///
UINT32 Reserved;
} EFI_HOB_GENERIC_HEADER;
@@ -59,13 +68,41 @@ typedef struct {
/// This HOB must be the first one in the HOB list.
///
typedef struct {
+ ///
+ /// The HOB generic header. Header.HobType = EFI_HOB_TYPE_HANDOFF.
+ ///
EFI_HOB_GENERIC_HEADER Header;
+ ///
+ /// The version number pertaining to the PHIT HOB definition.
+ /// This value is 4 bytes in length to provide an 8-byte aligned entry
+ /// when it is combined with the 4-byte BootMode.
+ ///
UINT32 Version;
+ ///
+ /// The system boot mode as determined during the HOB producer phase.
+ ///
EFI_BOOT_MODE BootMode;
+ ///
+ /// The highest address location of memory that is allocated for use by the HOB producer
+ /// phase. This address must be 4-KB aligned to meet page restrictions of UEFI.
+ ///
EFI_PHYSICAL_ADDRESS EfiMemoryTop;
+ ///
+ /// The lowest address location of memory that is allocated for use by the HOB producer phase.
+ ///
EFI_PHYSICAL_ADDRESS EfiMemoryBottom;
+ ///
+ /// The highest address location of free memory that is currently available
+ /// for use by the HOB producer phase.
+ ///
EFI_PHYSICAL_ADDRESS EfiFreeMemoryTop;
+ ///
+ /// The lowest address location of free memory that is available for use by the HOB producer phase.
+ ///
EFI_PHYSICAL_ADDRESS EfiFreeMemoryBottom;
+ ///
+ /// The end of the HOB list.
+ ///
EFI_PHYSICAL_ADDRESS EfiEndOfHobList;
} EFI_HOB_HANDOFF_INFO_TABLE;
@@ -112,11 +149,17 @@ typedef struct {
///
/// Describes all memory ranges used during the HOB producer
/// phase that exist outside the HOB list. This HOB type
-/// describes how memory is used,
-/// not the physical attributes of memory.
-///
+/// describes how memory is used, not the physical attributes of memory.
+///
typedef struct {
+ ///
+ /// The HOB generic header. Header.HobType = EFI_HOB_TYPE_MEMORY_ALLOCATION.
+ ///
EFI_HOB_GENERIC_HEADER Header;
+ ///
+ /// An instance of the EFI_HOB_MEMORY_ALLOCATION_HEADER that describes the
+ /// various attributes of the logical memory allocation.
+ ///
EFI_HOB_MEMORY_ALLOCATION_HEADER AllocDescriptor;
//
// Additional data pertaining to the "Name" Guid memory
@@ -131,7 +174,14 @@ typedef struct {
/// content in the HOB producer phase is executing.
///
typedef struct {
+ ///
+ /// The HOB generic header. Header.HobType = EFI_HOB_TYPE_MEMORY_ALLOCATION.
+ ///
EFI_HOB_GENERIC_HEADER Header;
+ ///
+ /// An instance of the EFI_HOB_MEMORY_ALLOCATION_HEADER that describes the
+ /// various attributes of the logical memory allocation.
+ ///
EFI_HOB_MEMORY_ALLOCATION_HEADER AllocDescriptor;
} EFI_HOB_MEMORY_ALLOCATION_STACK;
@@ -142,7 +192,14 @@ typedef struct {
/// register overflow store.
///
typedef struct {
+ ///
+ /// The HOB generic header. Header.HobType = EFI_HOB_TYPE_MEMORY_ALLOCATION.
+ ///
EFI_HOB_GENERIC_HEADER Header;
+ ///
+ /// An instance of the EFI_HOB_MEMORY_ALLOCATION_HEADER that describes the
+ /// various attributes of the logical memory allocation.
+ ///
EFI_HOB_MEMORY_ALLOCATION_HEADER AllocDescriptor;
} EFI_HOB_MEMORY_ALLOCATION_BSP_STORE;
@@ -150,9 +207,24 @@ typedef struct {
/// Defines the location and entry point of the HOB consumer phase.
///
typedef struct {
+ ///
+ /// The HOB generic header. Header.HobType = EFI_HOB_TYPE_MEMORY_ALLOCATION.
+ ///
EFI_HOB_GENERIC_HEADER Header;
+ ///
+ /// An instance of the EFI_HOB_MEMORY_ALLOCATION_HEADER that describes the
+ /// various attributes of the logical memory allocation.
+ ///
EFI_HOB_MEMORY_ALLOCATION_HEADER MemoryAllocationHeader;
+ ///
+ /// The GUID specifying the values of the firmware file system name
+ /// that contains the HOB consumer phase component.
+ ///
EFI_GUID ModuleName;
+ ///
+ /// The address of the memory-mapped firmware volume
+ /// that contains the HOB consumer phase firmware file.
+ ///
EFI_PHYSICAL_ADDRESS EntryPoint;
} EFI_HOB_MEMORY_ALLOCATION_MODULE;
@@ -211,11 +283,30 @@ typedef UINT32 EFI_RESOURCE_ATTRIBUTE_TYPE;
/// host bus during the HOB producer phase.
///
typedef struct {
+ ///
+ /// The HOB generic header. Header.HobType = EFI_HOB_TYPE_RESOURCE_DESCRIPTOR.
+ ///
EFI_HOB_GENERIC_HEADER Header;
+ ///
+ /// A GUID representing the owner of the resource. This GUID is used by HOB
+ /// consumer phase components to correlate device ownership of a resource.
+ ///
EFI_GUID Owner;
+ ///
+ /// Resource type enumeration as defined by EFI_RESOURCE_TYPE.
+ ///
EFI_RESOURCE_TYPE ResourceType;
+ ///
+ /// Resource attributes as defined by EFI_RESOURCE_ATTRIBUTE_TYPE.
+ ///
EFI_RESOURCE_ATTRIBUTE_TYPE ResourceAttribute;
+ ///
+ /// Physical start address of the resource region.
+ ///
EFI_PHYSICAL_ADDRESS PhysicalStart;
+ ///
+ /// Number of bytes of the resource region.
+ ///
UINT64 ResourceLength;
} EFI_HOB_RESOURCE_DESCRIPTOR;
@@ -224,20 +315,34 @@ typedef struct {
/// maintain and manage HOBs with specific GUID.
///
typedef struct {
+ ///
+ /// The HOB generic header. Header.HobType = EFI_HOB_TYPE_GUID_EXTENSION.
+ ///
EFI_HOB_GENERIC_HEADER Header;
- EFI_GUID Name;
-
///
- /// Guid specific data goes here
+ /// A GUID that defines the contents of this HOB.
///
+ EFI_GUID Name;
+ //
+ // Guid specific data goes here
+ //
} EFI_HOB_GUID_TYPE;
///
/// Details the location of firmware volumes that contain firmware files.
///
typedef struct {
+ ///
+ /// The HOB generic header. Header.HobType = EFI_HOB_TYPE_FV.
+ ///
EFI_HOB_GENERIC_HEADER Header;
+ ///
+ /// The physical memory-mapped base address of the firmware volume.
+ ///
EFI_PHYSICAL_ADDRESS BaseAddress;
+ ///
+ /// The length in bytes of the firmware volume.
+ ///
UINT64 Length;
} EFI_HOB_FIRMWARE_VOLUME;
@@ -246,10 +351,25 @@ typedef struct {
/// from a file within another firmware volume.
///
typedef struct {
+ ///
+ /// The HOB generic header. Header.HobType = EFI_HOB_TYPE_FV2.
+ ///
EFI_HOB_GENERIC_HEADER Header;
+ ///
+ /// The physical memory-mapped base address of the firmware volume.
+ ///
EFI_PHYSICAL_ADDRESS BaseAddress;
+ ///
+ /// The length in bytes of the firmware volume.
+ ///
UINT64 Length;
+ ///
+ /// The name of the firmware volume.
+ ///
EFI_GUID FvName;
+ ///
+ /// The name of the firmware file which contained this firmware volume.
+ ///
EFI_GUID FileName;
} EFI_HOB_FIRMWARE_VOLUME2;
@@ -258,9 +378,21 @@ typedef struct {
/// Describes processor information, such as address space and I/O space capabilities.
///
typedef struct {
+ ///
+ /// The HOB generic header. Header.HobType = EFI_HOB_TYPE_CPU.
+ ///
EFI_HOB_GENERIC_HEADER Header;
+ ///
+ /// Identifies the maximum physical memory addressability of the processor.
+ ///
UINT8 SizeOfMemorySpace;
+ ///
+ /// Identifies the maximum physical I/O addressability of the processor.
+ ///
UINT8 SizeOfIoSpace;
+ ///
+ /// This field will always be set to zero.
+ ///
UINT8 Reserved[6];
} EFI_HOB_CPU;
@@ -269,6 +401,9 @@ typedef struct {
/// Describes pool memory allocations.
///
typedef struct {
+ ///
+ /// The HOB generic header. Header.HobType = EFI_HOB_TYPE_MEMORY_POOL.
+ ///
EFI_HOB_GENERIC_HEADER Header;
} EFI_HOB_MEMORY_POOL;
diff --git a/MdePkg/Include/Pi/PiMultiPhase.h b/MdePkg/Include/Pi/PiMultiPhase.h
index 4f008ce939..e31d986e96 100644
--- a/MdePkg/Include/Pi/PiMultiPhase.h
+++ b/MdePkg/Include/Pi/PiMultiPhase.h
@@ -86,8 +86,17 @@ typedef UINT32 EFI_STATUS_CODE_VALUE;
/// the structure and is Size bytes long.
///
typedef struct {
+ ///
+ /// The size of the structure. This is specified to enable future expansion.
+ ///
UINT16 HeaderSize;
+ ///
+ /// The size of the data in bytes. This does not include the size of the header structure.
+ ///
UINT16 Size;
+ ///
+ /// The GUID defining the type of the data.
+ ///
EFI_GUID Type;
} EFI_STATUS_CODE_DATA;
diff --git a/MdePkg/Include/Pi/PiPeiCis.h b/MdePkg/Include/Pi/PiPeiCis.h
index 4db59a3cde..89ab2dde33 100644
--- a/MdePkg/Include/Pi/PiPeiCis.h
+++ b/MdePkg/Include/Pi/PiPeiCis.h
@@ -94,8 +94,18 @@ EFI_STATUS
/// The data structure through which a PEIM describes available services to the PEI Foundation.
///
typedef struct {
+ ///
+ /// This field is a set of flags describing the characteristics of this imported table entry.
+ /// All flags are defined as EFI_PEI_PPI_DESCRIPTOR_***, which can also be combined into one.
+ ///
UINTN Flags;
+ ///
+ /// The address of the EFI_GUID that names the interface.
+ ///
EFI_GUID *Guid;
+ ///
+ /// A pointer to the PPI. It contains the information necessary to install a service.
+ ///
VOID *Ppi;
} EFI_PEI_PPI_DESCRIPTOR;
@@ -104,24 +114,20 @@ typedef struct {
/// Foundation where to invoke the notification service.
///
struct _EFI_PEI_NOTIFY_DESCRIPTOR {
+ ///
+ /// Details if the type of notification is callback or dispatch.
+ ///
UINTN Flags;
+ ///
+ /// The address of the EFI_GUID that names the interface.
+ ///
EFI_GUID *Guid;
+ ///
+ /// Address of the notification callback function itself within the PEIM.
+ ///
EFI_PEIM_NOTIFY_ENTRY_POINT Notify;
};
-///
-/// Describes request of the module to be loaded to
-/// the permanent memory once it is available. Unlike most of the other HOBs,
-/// this HOB is produced and consumed during the HOB producer phase.
-///
-typedef struct _EFI_HOB_LOAD_PEIM {
- EFI_HOB_GENERIC_HEADER Header;
- EFI_PEI_FILE_HANDLE FileHandle;
- EFI_PEIM_ENTRY_POINT2 EntryPoint;
- EFI_PEIM_ENTRY_POINT2 InMemEntryPoint;
-} EFI_HOB_LOAD_PEIM;
-
-
/**
This service is the first one provided by the PEI Foundation. This function
installs an interface in the PEI PPI database by GUID. The purpose of the