]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Pi/PiPeiCis.h
Remove extra #Include
[mirror_edk2.git] / MdePkg / Include / Pi / PiPeiCis.h
index e2d2d75748e8e6d045d4d958e5357ffcc02cf03b..35a54e72d4b58a1cf641cb64833f66f19a317785 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,23 +115,34 @@ 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
+/// This data structure is the means by which callable services are installed and\r
+/// notifications are registered in the PEI phase.\r
+///\r
+typedef union {\r
+  ///\r
+  /// The typedef structure of the notification descriptor.\r
+  ///\r
+  EFI_PEI_NOTIFY_DESCRIPTOR   Notify;\r
+  ///\r
+  /// The typedef structure of the PPI descriptor.\r
+  ///\r
+  EFI_PEI_PPI_DESCRIPTOR      Ppi;\r
+} EFI_PEI_DESCRIPTOR;\r
 \r
 /**\r
   This service is the first one provided by the PEI Foundation.  This function \r
@@ -576,7 +598,7 @@ typedef struct {
   ///\r
   VOID                    *Buffer;\r
   ///\r
-  /// Size of the file\92s data.\r
+  /// Size of the file's data.\r
   ///\r
   UINT32                  BufferSize;\r
 } EFI_FV_FILE_INFO;\r
@@ -642,14 +664,13 @@ typedef struct {
   and size.\r
 \r
   @param VolumeHandle   Handle of the volume.\r
+  @param VolumeInfo     Upon exit, points to the volume's information.\r
 \r
-  @param VolumeInfo     Upon exit, points to the volume's\r
-                        information.\r
-\r
-  @retval EFI_SUCCESS             File information returned.\r
-  @retval EFI_INVALID_PARAMETER   If FileHandle does not\r
-                                  represent a valid file.\r
-  @retval EFI_INVALID_PARAMETER   If FileInfo is NULL.\r
+  @retval EFI_SUCCESS             Volume information returned.\r
+  @retval EFI_INVALID_PARAMETER   If VolumeHandle does not represent a valid volume.\r
+  @retval EFI_INVALID_PARAMETER   If VolumeHandle is NULL.\r
+  @retval EFI_SUCCESS             Information successfully returned.\r
+  @retval EFI_INVALID_PARAMETER   The volume designated by the VolumeHandle is not available.\r
 \r
 **/\r
 typedef\r
@@ -694,12 +715,22 @@ EFI_STATUS
 // PEI Specification Revision information\r
 //\r
 #define PEI_SPECIFICATION_MAJOR_REVISION  1\r
-#define PEI_SPECIFICATION_MINOR_REVISION  0\r
-\r
+#define PEI_SPECIFICATION_MINOR_REVISION  20\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