]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Pi/PiPeiCis.h
Add EFI_DISPOSABLE_SECTION type defined in PI 1.2 specification.
[mirror_edk2.git] / MdePkg / Include / Pi / PiPeiCis.h
index 4db59a3cdef409ecd9bbe8259c74a18813248947..c93179a82845195417ac42424570d689a643a143 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   PI PEI master include file. This file should match the PI spec.\r
 \r
-  Copyright (c) 2006 - 2008, Intel Corporation                                                         \r
+  Copyright (c) 2006 - 2009, Intel Corporation                                                         \r
   All rights reserved. This program and the accompanying materials                          \r
   are licensed and made available under the terms and conditions of the BSD License         \r
   which accompanies this distribution.  The full text of the license may be found at        \r
@@ -18,6 +18,7 @@
 #ifndef __PI_PEICIS_H__\r
 #define __PI_PEICIS_H__\r
 \r
+#include <Uefi/UefiMultiPhase.h>\r
 #include <Pi/PiMultiPhase.h>\r
 \r
 ///\r
@@ -94,8 +95,18 @@ EFI_STATUS
 /// The data structure through which a PEIM describes available services to the PEI Foundation.\r
 /// \r
 typedef struct {\r
+  ///\r
+  /// This field is a set of flags describing the characteristics of this imported table entry.\r
+  /// All flags are defined as EFI_PEI_PPI_DESCRIPTOR_***, which can also be combined into one.\r
+  ///\r
   UINTN     Flags;\r
+  ///\r
+  /// The address of the EFI_GUID that names the interface.\r
+  ///\r
   EFI_GUID  *Guid;\r
+  ///\r
+  /// A pointer to the PPI. It contains the information necessary to install a service.\r
+  ///\r
   VOID      *Ppi;\r
 } EFI_PEI_PPI_DESCRIPTOR;\r
 \r
@@ -104,24 +115,20 @@ typedef struct {
 /// Foundation where to invoke the notification service.\r
 /// \r
 struct _EFI_PEI_NOTIFY_DESCRIPTOR {\r
+  ///\r
+  /// Details if the type of notification is callback or dispatch.\r
+  ///\r
   UINTN                       Flags;\r
+  ///\r
+  /// The address of the EFI_GUID that names the interface.\r
+  ///\r
   EFI_GUID                    *Guid;\r
+  ///\r
+  /// Address of the notification callback function itself within the PEIM.\r
+  ///\r
   EFI_PEIM_NOTIFY_ENTRY_POINT Notify;\r
 };\r
 \r
-///\r
-/// Describes request of the module to be loaded to \r
-/// the permanent memory once it is available. Unlike most of the other HOBs, \r
-/// this HOB is produced and consumed during the HOB producer phase.\r
-/// \r
-typedef struct _EFI_HOB_LOAD_PEIM {\r
-  EFI_HOB_GENERIC_HEADER            Header;\r
-  EFI_PEI_FILE_HANDLE               FileHandle;\r
-  EFI_PEIM_ENTRY_POINT2             EntryPoint;\r
-  EFI_PEIM_ENTRY_POINT2             InMemEntryPoint;\r
-} EFI_HOB_LOAD_PEIM;\r
-\r
-\r
 /**\r
   This service is the first one provided by the PEI Foundation.  This function \r
   installs an interface in the PEI PPI database by GUID.  The purpose of the \r
@@ -695,11 +702,21 @@ EFI_STATUS
 //\r
 #define PEI_SPECIFICATION_MAJOR_REVISION  1\r
 #define PEI_SPECIFICATION_MINOR_REVISION  0\r
-\r
+///\r
+/// Inconsistent with specification here: \r
+/// In PI1.0 spec, PEI_SERVICES_SIGNATURE is defined as 0x5652455320494550. But \r
+/// to pass multiple tool chain, it is append a ULL.\r
+///\r
 //\r
 // PEI Services Table\r
 //\r
 #define PEI_SERVICES_SIGNATURE  0x5652455320494550ULL\r
+///\r
+/// Inconsistent with specification here: \r
+/// In PI1.0 spec, There is a typo error in PEI_SERVICES_REVISION. In the spec. the defintion is \r
+/// #define ((PEI_SPECIFICATION_MAJOR_REVISION<<16) |(PEI_SPECIFICATION_MINOR_REVISION))\r
+/// and it should be as follow:\r
+///\r
 #define PEI_SERVICES_REVISION   ((PEI_SPECIFICATION_MAJOR_REVISION<<16) | (PEI_SPECIFICATION_MINOR_REVISION))\r
 \r
 /// \r