]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Refine code for MdePkg/Include/Ppi according to code review comments.
authorxli24 <xli24@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 23 Sep 2008 07:55:57 +0000 (07:55 +0000)
committerxli24 <xli24@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 23 Sep 2008 07:55:57 +0000 (07:55 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5951 6f19259b-4bc3-4df7-8a09-765794883524

MdePkg/Include/Ppi/ReadOnlyVariable2.h
MdePkg/Include/Ppi/Reset.h
MdePkg/Include/Ppi/SecPlatformInformation.h
MdePkg/Include/Ppi/Security2.h
MdePkg/Include/Ppi/Stall.h
MdePkg/Include/Ppi/StatusCode.h
MdePkg/Include/Ppi/TemporaryRamSupport.h

index 49a455017ec45e72539e3fbb61f6e31a1948061e..329266a87974a84bd8c6abe6851ada8d5a2cbdc7 100644 (file)
@@ -34,32 +34,21 @@ typedef struct _EFI_PEI_READ_ONLY_VARIABLE2_PPI  EFI_PEI_READ_ONLY_VARIABLE2_PPI
   the error EFI_BUFFER_TOO_SMALL is returned and DataSize is set to the\r
   required buffer size to obtain the data.\r
 \r
-  @param  This            A pointer to this instance of the EFI_PEI_READ_ONLY_VARIABLE2_PPI.\r
-\r
-  @param  VariableName    A pointer to a null-terminated string that is the variable's name.\r
-\r
-  @param  VendorGuid      A pointer to an EFI_GUID that is the variable's GUID. The combination of\r
-                          VariableGuid and VariableName must be unique.\r
-\r
-  @param  Attributes      If non-NULL, on return, points to the variable's attributes. See "Related Definitons"\r
-                          below for possible attribute values.\r
-\r
-  @param  DataSize        On entry, points to the size in bytes of the Data buffer. On return, points to the size of\r
-                          the data returned in Data.\r
-\r
-  @param  Data            Points to the buffer which will hold the returned variable value.\r
-\r
-\r
-  @retval EFI_SUCCESS           The function completed successfully.\r
-\r
-  @retval EFI_NOT_FOUND         The variable was not found.\r
+  @param  This                  A pointer to this instance of the EFI_PEI_READ_ONLY_VARIABLE2_PPI.\r
+  @param  VariableName          A pointer to a null-terminated string that is the variable's name.\r
+  @param  VendorGuid            A pointer to an EFI_GUID that is the variable's GUID. The combination of\r
+                                VariableGuid and VariableName must be unique.\r
+  @param  Attributes            If non-NULL, on return, points to the variable's attributes.\r
+  @param  DataSize              On entry, points to the size in bytes of the Data buffer.\r
+                                On return, points to the size of the data returned in Data.\r
+  @param  Data                  Points to the buffer which will hold the returned variable value.\r
 \r
+  @retval EFI_SUCCESS           The variable was read successfully.\r
+  @retval EFI_NOT_FOUND         The variable could not be found.\r
   @retval EFI_BUFFER_TOO_SMALL  The DataSize is too small for the resulting data. \r
                                 DataSize is updated with the size required for \r
                                 the specified variable.\r
-\r
   @retval EFI_INVALID_PARAMETER VariableName, VariableGuid, DataSize or Data is NULL.\r
-\r
   @retval EFI_DEVICE_ERROR      The variable could not be retrieved because of a device error.\r
 \r
 **/\r
@@ -88,25 +77,19 @@ EFI_STATUS
   @param  This              A pointer to this instance of the EFI_PEI_READ_ONLY_VARIABLE2_PPI.\r
 \r
   @param  VariableNameSize  On entry, points to the size of the buffer pointed to by VariableName.\r
-\r
   @param  VariableName      On entry, a pointer to a null-terminated string that is the variable's name.\r
                             On return, points to the next variable's null-terminated name string.\r
 \r
   @param  VendorGuid        On entry, a pointer to an UEFI _GUID that is the variable's GUID. \r
                             On return, a pointer to the next variable's GUID.\r
 \r
-\r
   @retval EFI_SUCCESS           The variable was read successfully.\r
-\r
   @retval EFI_NOT_FOUND         The variable could not be found.\r
-\r
   @retval EFI_BUFFER_TOO_SMALL  The VariableNameSize is too small for the resulting\r
                                 data. VariableNameSize is updated with the size\r
                                 required for the specified variable.\r
-\r
   @retval EFI_INVALID_PARAMETER VariableName, VariableGuid or\r
                                 VariableNameSize is NULL.\r
-\r
   @retval EFI_DEVICE_ERROR      The variable could not be retrieved because of a device error.\r
 \r
 **/\r
@@ -119,20 +102,18 @@ EFI_STATUS
   IN OUT    EFI_GUID                        *VariableGuid\r
   );\r
 \r
-/**\r
-  @par Ppi Description:\r
-  This PPI provides a lightweight, read-only variant of the full EFI \r
-  variable services. \r
-\r
-  @param GetVariable\r
-  A service to ascertain a given variable name.\r
-\r
-  @param GetNextVariableName\r
-  A service to ascertain a variable based upon a given, known variable\r
-\r
-**/\r
+///\r
+/// This PPI provides a lightweight, read-only variant of the full EFI \r
+/// variable services. \r
+///\r
 struct _EFI_PEI_READ_ONLY_VARIABLE2_PPI {\r
+  ///\r
+  /// A service to read the value of a particular variable using its name.\r
+  ///\r
   EFI_PEI_GET_VARIABLE2       GetVariable;\r
+  ///\r
+  /// Find the next variable name in the variable store.\r
+  ///\r
   EFI_PEI_NEXT_VARIABLE_NAME2 NextVariableName;\r
 };\r
 \r
index 717f5df506fbe661d4942a20c7f2f00a9ce26b0f..b6d9beab50a3511fe30bdbd262328fa7af8e440c 100644 (file)
     0xef398d58, 0x9dfd, 0x4103, {0xbf, 0x94, 0x78, 0xc6, 0xf4, 0xfe, 0x71, 0x2f } \\r
   }\r
 \r
-/**\r
-  @par Ppi Description:\r
-  This PPI provides provide a simple reset service. \r
-\r
-  @param ResetSystem\r
-  A service to reset the entire platform.\r
-\r
-**/\r
+//\r
+// EFI_PEI_RESET_PPI.ResetSystem() is equivalent to the\r
+// PEI Service ResetSystem().\r
+// It is defined in PiPeiCis.h. \r
+//\r
+\r
+///\r
+/// This PPI provides provide a simple reset service. \r
+///\r
 typedef struct {\r
+  ///\r
+  /// A service to reset the entire platform.\r
+  /// This function is defined in PiPeicis.h.\r
+  ///\r
   EFI_PEI_RESET_SYSTEM  ResetSystem;\r
 } EFI_PEI_RESET_PPI;\r
 \r
index fc5c366869132002bb0eea2942a8aaf858a43fad..573939af3dcc55a807999403a06f96b11eeab4e7 100644 (file)
@@ -39,13 +39,47 @@ typedef struct _EFI_SEC_PLATFORM_INFORMATION_PPI EFI_SEC_PLATFORM_INFORMATION_PP
 ///\r
 typedef union {\r
   struct {\r
+    ///\r
+    /// A 2-bit field indicating self-test state after reset.\r
+    ///\r
     UINT32   Status                   : 2;\r
+    ///\r
+    /// A 1-bit field indicating whether testing has occurred.\r
+    /// If this field is zero, the processor has not been tested,\r
+    /// and no further fields in the self-test State parameter are valid.\r
+    ///\r
     UINT32   Tested                   : 1;\r
+    ///\r
+    /// Reserved 13 bits.\r
+    ///\r
     UINT32   Reserved1                :13;\r
+    ///\r
+    /// A 1-bit field. If set to 1, indicates that virtual\r
+    /// memory features are not available.\r
+    ///\r
     UINT32   VirtualMemoryUnavailable : 1;\r
+    ///\r
+    /// A 1-bit field. If set to 1, indicates that IA-32 execution\r
+    /// is not available.\r
+    ///\r
     UINT32   Ia32ExecutionUnavailable : 1;\r
+    ///\r
+    /// A 1-bit field. If set to 1, indicates that the floating\r
+    /// point unit is not available.\r
+    ///\r
     UINT32   FloatingPointUnavailable : 1;\r
+    ///\r
+    /// A 1-bit field. If set to 1, indicates miscellaneous\r
+    /// functional failure other than vm, ia, or fp.\r
+    /// The test status field provides additional information on\r
+    /// test failures when the State field returns a value of\r
+    /// performance restricted or functionally restricted.\r
+    /// The value returned is implementation dependent.\r
+    ///\r
     UINT32   MiscFeaturesUnavailable  : 1;\r
+    ///\r
+    /// Reserved 12 bits.\r
+    ///\r
     UINT32   Reserved2                :12;\r
   } Bits;\r
   UINT32     Uint32;\r
@@ -74,8 +108,15 @@ typedef struct {
 \r
 } IPF_HANDOFF_STATUS;\r
 \r
-\r
+///\r
+/// EFI_SEC_PLATFORM_INFORMATION_RECORD\r
+///\r
 typedef struct {\r
+  ///\r
+  /// Contains information generated by microcode, hardware,\r
+  /// and/or the Itanium processor PAL code about the state\r
+  /// of the processor upon reset.\r
+  ///\r
   EFI_HEALTH_FLAGS HealthFlags;\r
 } EFI_SEC_PLATFORM_INFORMATION_RECORD;\r
 \r
@@ -84,12 +125,20 @@ typedef struct {
 /**\r
   This interface conveys state information out of the Security (SEC) phase into PEI.\r
 \r
+  This service is published by the SEC phase. The SEC phase handoff has an optional\r
+  EFI_PEI_PPI_DESCRIPTOR list as its final argument when control is passed from SEC into the\r
+  PEI Foundation. As such, if the platform supports the built-in self test (BIST) on IA-32 Intel\r
+  architecture or the PAL-A handoff state for Itanium architecture, this information is encapsulated\r
+  into the data structure abstracted by this service. This information is collected for the boot-strap\r
+  processor (BSP) on IA-32, and for Itanium architecture, it is available on all processors that execute\r
+  the PEI Foundation.\r
+\r
   @param  PeiServices               Pointer to the PEI Services Table.\r
   @param  StructureSize             Pointer to the variable describing size of the input buffer.\r
   @param  PlatformInformationRecord Pointer to the EFI_SEC_PLATFORM_INFORMATION_RECORD.\r
 \r
-  @retval EFI_SUCCESS           The data was successfully returned.\r
-  @retval EFI_BUFFER_TOO_SMALL  The buffer was too small.\r
+  @retval EFI_SUCCESS               The data was successfully returned.\r
+  @retval EFI_BUFFER_TOO_SMALL      The buffer was too small.\r
 \r
 **/\r
 typedef\r
@@ -101,17 +150,15 @@ EFI_STATUS
 );\r
 \r
 \r
-/**\r
-  @par Ppi Description:\r
-  This service abstracts platform-specific information. It is necessary \r
-  to convey this information to the PEI Foundation so that it can \r
-  discover where to begin dispatching PEIMs.\r
-\r
-  @param PlatformInformation \r
-  Conveys state information out of the SEC phase into PEI.\r
-\r
-**/\r
+///\r
+/// This service abstracts platform-specific information. It is necessary \r
+/// to convey this information to the PEI Foundation so that it can \r
+/// discover where to begin dispatching PEIMs.\r
+///\r
 struct _EFI_SEC_PLATFORM_INFORMATION_PPI {\r
+  ///\r
+  /// Conveys state information out of the SEC phase into PEI.\r
+  ///\r
   EFI_SEC_PLATFORM_INFORMATION  PlatformInformation;\r
 };\r
 \r
index 5dbcd1a12325a7fc80115c890f5e1d7e5f2a5997..c18da3fd5ecdbfd7f06debec72a9b8c78c2289d0 100644 (file)
@@ -41,56 +41,23 @@ typedef struct _EFI_PEI_SECURITY2_PPI  EFI_PEI_SECURITY2_PPI;
   priori policy in the PEI Foundation. Specifically, this\r
   situation leads to the question whether PEIMs that are either\r
   not in GUIDed sections or are in sections whose authentication\r
-  fails should still be executed. In fact, it is the\r
-  responsibility of the platform builder to make this decision.\r
-  This platform-scoped policy is a result that a desktop system\r
-  might not be able to skip or not execute PEIMs because the\r
-  skipped PEIM could be the agent that initializes main memory.\r
-  Alternately, a system may require that unsigned PEIMs not be\r
-  executed under any circumstances. In either case, the PEI\r
-  Foundation simply multiplexes access to the Section Extraction\r
-  PPI and the Security PPI. The Section Extraction PPI determines\r
-  the contents of a section, and the Security PPI tells the PEI\r
-  Foundation whether or not to invoke the PEIM. The PEIM that\r
-  publishes the AuthenticationState() service uses its parameters\r
-  in the following ways: ?? AuthenticationStatus conveys the\r
-  source information upon which the PEIM acts. 1) The\r
-  DeferExecution value tells the PEI Foundation whether or not to\r
-  dispatch the PEIM. In addition, between receiving the\r
-  AuthenticationState() from the PEI Foundation and returning with\r
-  the DeferExecution value, the PEIM that publishes\r
-  AuthenticationState() can do the following: 2) Log the file\r
-  state. 3) Lock the firmware hubs in response to an unsigned\r
-  PEIM being discovered. These latter behaviors are platform-\r
-  and market-specific and thus outside the scope of the PEI CIS.\r
-\r
-  @param PeiServices   An indirect pointer to the PEI Services Table published by the PEI Foundation.\r
-\r
-  @param This   Interface pointer that implements the particular\r
-                EFI_PEI_SECURITY2_PPI instance.\r
-\r
-\r
-  @param AuthenticationStatus   Authentication status of the\r
-                                file.\r
-\r
-  @param FvHandle   Handle of the volume in which the file\r
-                    resides. Type EFI_PEI_FV_HANDLE is defined\r
-                    in FfsFindNextVolume. This allows different\r
-                    policies depending on different firmware\r
-                    volumes.\r
-\r
-  @param FileHandle   Handle of the file under review. Type\r
-                      EFI_PEI FILE HANDLE is defined in\r
-                      FfsFindNextFile.\r
-\r
-  @param DeferExecution   Pointer to a variable that alerts the\r
-                          PEI Foundation to defer execution of a\r
-                          PEIM.\r
-\r
-  @retval EFI_SUCCESS   The service performed its action\r
-                        successfully.\r
-\r
-  @retval EFI_SECURITY_VIOLATION  The object cannot be trusted.\r
+  fails should still be executed.\r
+\r
+  @param PeiServices             An indirect pointer to the PEI Services\r
+                                 Table published by the PEI Foundation.\r
+  @param This                    Interface pointer that implements the\r
+                                 particular EFI_PEI_SECURITY2_PPI instance.\r
+  @param AuthenticationStatus    Authentication status of the file.\r
+  @param FvHandle                Handle of the volume in which the file\r
+                                 resides. This allows different policies\r
+                                 depending on different firmware volumes.\r
+  @param FileHandle              Handle of the file under review.\r
+  @param DeferExecution          Pointer to a variable that alerts the\r
+                                 PEI Foundation to defer execution of a\r
+                                 PEIM.\r
+\r
+  @retval EFI_SUCCESS            The service performed its action successfully.\r
+  @retval EFI_SECURITY_VIOLATION The object cannot be trusted.\r
 \r
 **/\r
 typedef\r
@@ -98,34 +65,29 @@ EFI_STATUS
 (EFIAPI *EFI_PEI_SECURITY_AUTHENTICATION_STATE)(\r
   IN CONST  EFI_PEI_SERVICES      **PeiServices,\r
   IN CONST  EFI_PEI_SECURITY2_PPI *This,\r
-  IN CONST  UINT32                AuthenticationStatus,\r
-  IN CONST  EFI_PEI_FV_HANDLE     FvHandle,\r
-  IN CONST  EFI_PEI_FV_HANDLE     FileHandle,\r
+  IN UINT32                       AuthenticationStatus,\r
+  IN EFI_PEI_FV_HANDLE            FvHandle,\r
+  IN EFI_PEI_FV_HANDLE            FileHandle,\r
   IN OUT    BOOLEAN               *DeferExecution\r
 );\r
 \r
-/**\r
-  @par Ppi Description: \r
-  This PPI is a means by which the platform builder can indicate\r
-  a response to a PEIM's authentication state. This can be in\r
-  the form of a requirement for the PEI Foundation to skip a\r
-  module using the DeferExecution Boolean output in the\r
-  AuthenticationState() member function. Alternately, the\r
-  Security PPI can invoke something like a cryptographic PPI\r
-  that hashes the PEIM contents to log attestations, for which\r
-  the FileHandle parameter in AuthenticationState() will be\r
-  useful. If this PPI does not exist, PEIMs will be considered\r
-  trusted.\r
-\r
-  @param AuthenticationState  Allows the platform builder to\r
-                              implement a security policy in\r
-                              response to varying file\r
-                              authentication states. See the\r
-                              AuthenticationState() function\r
-                              description.\r
-\r
-**/\r
+///\r
+/// This PPI is a means by which the platform builder can indicate\r
+/// a response to a PEIM's authentication state. This can be in\r
+/// the form of a requirement for the PEI Foundation to skip a\r
+/// module using the DeferExecution Boolean output in the\r
+/// AuthenticationState() member function. Alternately, the\r
+/// Security PPI can invoke something like a cryptographic PPI\r
+/// that hashes the PEIM contents to log attestations, for which\r
+/// the FileHandle parameter in AuthenticationState() will be\r
+/// useful. If this PPI does not exist, PEIMs will be considered\r
+/// trusted.\r
+///\r
 struct _EFI_PEI_SECURITY2_PPI {\r
+  ///\r
+  /// Allows the platform builder to implement a security policy\r
+  /// in response to varying file authentication states.\r
+  ///\r
   EFI_PEI_SECURITY_AUTHENTICATION_STATE   AuthenticationState;\r
 };\r
 \r
index 41031744b3f9fbe84ae5b3a687ad9685c651e65b..710b3b88b2e927a8d8cc7f10e3c31ad15a33d2a4 100644 (file)
@@ -46,19 +46,17 @@ EFI_STATUS
   IN UINTN                      Microseconds\r
   );\r
 \r
-/**\r
-  @par Ppi Description:\r
-  This service provides a simple, blocking stall with platform-specific resolution. \r
-\r
-  @param Resolution\r
-  The resolution in microseconds of the stall services.\r
-\r
-  @param Stall\r
-  The actual stall procedure call. \r
-\r
-**/\r
+///\r
+/// This service provides a simple, blocking stall with platform-specific resolution. \r
+///\r
 struct _EFI_PEI_STALL_PPI {\r
+  ///\r
+  /// The resolution in microseconds of the stall services.\r
+  ///\r
   UINTN          Resolution;\r
+  ///\r
+  /// The actual stall procedure call. \r
+  ///\r
   EFI_PEI_STALL  Stall;\r
 };\r
 \r
index 1283e5ee121ebb71a56d8a7fbb8af55593bba1fe..0aa2a558ea4b39294f3b62ca05aa632f9a596f64 100644 (file)
 #define EFI_PEI_REPORT_PROGRESS_CODE_PPI_GUID \\r
   { 0x229832d3, 0x7a30, 0x4b36, {0xb8, 0x27, 0xf4, 0xc, 0xb7, 0xd4, 0x54, 0x36 } }\r
 \r
-/**\r
-  @par Ppi Description:\r
-  This ppi provides the sevice to report status code. There can be only one instance \r
-  of this service in the system.\r
-\r
-  @param ReportStatusCode\r
-  Service that allows PEIMs to report status codes. This function is defined in PiPeicis.h\r
-\r
-**/\r
+//\r
+// EFI_PEI_PROGRESS_CODE_PPI.ReportStatusCode() is equivalent to the\r
+// PEI Service ReportStatusCode().\r
+// It is defined in PiPeiCis.h. \r
+//\r
+\r
+///\r
+/// This PPI provides the sevice to report status code.\r
+/// There can be only one instance of this service in the system.\r
+///\r
 typedef struct {\r
+  ///\r
+  /// Service that allows PEIMs to report status codes.\r
+  /// This function is defined in PiPeicis.h.\r
+  ///\r
   EFI_PEI_REPORT_STATUS_CODE  ReportStatusCode;\r
 } EFI_PEI_PROGRESS_CODE_PPI;\r
 \r
index 76e7c923eef91e2af75c7002ee585d9bcd64cd37..648127fc22e66ba7776a49e2396a85a9db4b2fc7 100644 (file)
   permanent memory.\r
 \r
   @param PeiServices            Pointer to the PEI Services Table.\r
-\r
   @param TemporaryMemoryBase    Source Address in temporary memory from which the SEC or PEIM will copy the\r
                                 Temporary RAM contents.\r
-\r
   @param PermanentMemoryBase    Destination Address in permanent memory into which the SEC or PEIM will copy the\r
                                 Temporary RAM contents.\r
-\r
   @param CopySize               Amount of memory to migrate from temporary to permanent memory.\r
 \r
-\r
-\r
   @retval EFI_SUCCESS           The data was successfully returned.\r
-\r
-  @retval EFI_INVALID_PARAMETER PermanentMemoryBase + CopySize >\r
-                                TemporaryMemoryBase when TemporaryMemoryBase >\r
-                                PermanentMemoryBase.\r
+  @retval EFI_INVALID_PARAMETER PermanentMemoryBase + CopySize > TemporaryMemoryBase when\r
+                                TemporaryMemoryBase > PermanentMemoryBase.\r
 \r
 **/\r
 typedef\r
@@ -56,16 +49,14 @@ EFI_STATUS
   IN UINTN                    CopySize\r
 );\r
 \r
-/**\r
-  @par Ppi Description:\r
-  This service abstracts the ability to migrate contents of the platform early memory store.\r
-\r
-  @param ResetSystem\r
-  Perform the migration of contents of Temporary RAM to Permanent RAM.\r
-  Terminate the Temporary RAM if it cannot coexist with the Permanent RAM.\r
-\r
-**/\r
+///\r
+/// This service abstracts the ability to migrate contents of the platform early memory store.\r
+///\r
 typedef struct {\r
+  ///\r
+  /// Perform the migration of contents of Temporary RAM to Permanent RAM.\r
+  /// Terminate the Temporary RAM if it cannot coexist with the Permanent RAM.\r
+  ///\r
   TEMPORARY_RAM_MIGRATION   TemporaryRamMigration;\r
 } TEMPORARY_RAM_SUPPORT_PPI;\r
 \r