Function headers in .h and .c files synchronized with spec
authorjji4 <jji4@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 26 Nov 2008 04:36:05 +0000 (04:36 +0000)
committerjji4 <jji4@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 26 Nov 2008 04:36:05 +0000 (04:36 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6728 6f19259b-4bc3-4df7-8a09-765794883524

13 files changed:
MdePkg/Include/Library/PeiCoreEntryPoint.h
MdePkg/Include/Library/SerialPortLib.h
MdePkg/Include/Library/TimerLib.h
MdePkg/Include/Library/UefiApplicationEntryPoint.h
MdePkg/Include/Library/UefiDriverEntryPoint.h
MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.c
MdePkg/Library/BaseTimerLibNullTemplate/TimerLibNull.c
MdePkg/Library/DxeSmbusLib/SmbusLib.c
MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.c
MdePkg/Library/PeiSmbusLibSmbus2Ppi/SmbusLib.c
MdePkg/Library/SecPeiDxeTimerLibCpu/IpfTimerLib.c
MdePkg/Library/SecPeiDxeTimerLibCpu/X86TimerLib.c
MdePkg/Library/UefiApplicationEntryPoint/ApplicationEntryPoint.c

index 4d38468..42ba464 100644 (file)
@@ -16,27 +16,33 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #define __MODULE_ENTRY_POINT_H__\r
 \r
 /**\r
-\r
-  Enrty point to PEI core.\r
-\r
-  @param SecCoreData    Points to a data structure containing\r
-                        information about the PEI core's\r
-                        operating environment, such as the size\r
-                        and location of temporary RAM, the stack\r
-                        location and the BFV location. The type\r
-                        EFI_SEC_PEI_HAND_OFF is\r
-\r
-  @param PpiList        Points to a list of one or more PPI\r
-                        descriptors to be installed initially by\r
-                        the PEI core. An empty PPI list consists\r
-                        of a single descriptor with the end-tag\r
-                        EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST.\r
-                        As part of its initialization phase, the\r
-                        PEI Foundation will add these SEC-hosted\r
-                        PPIs to its PPI database such that both\r
-                        the PEI Foundation and any modules can\r
-                        leverage the associated service calls\r
-                        and/or code in these early PPIs.\r
+  The entry point of PE/COFF Image for the PEI Core.\r
+\r
+  This function is the entry point for the PEI Foundation, which allows the SEC phase\r
+  to pass information about the stack, temporary RAM and the Boot Firmware Volume.\r
+  In addition, it also allows the SEC phase to pass services and data forward for use\r
+  during the PEI phase in the form of one or more PPIs.\r
+  There is no limit to the number of additional PPIs that can be passed from SEC into\r
+  the PEI Foundation. As part of its initialization phase, the PEI Foundation will add\r
+  these SEC-hosted PPIs to its PPI database such that both the PEI Foundation and any\r
+  modules can leverage the associated service calls and/or code in these early PPIs.\r
+  This function is required to call ProcessModuleEntryPointList() with the Context\r
+  parameter set to NULL.  ProcessModuleEntryPoint() is never expected to return.\r
+  The PEI Core is responsible for calling ProcessLibraryConstructorList() as soon as\r
+  the PEI Services Table and the file handle for the PEI Core itself have been established.\r
+  If ProcessModuleEntryPointList() returns, then ASSERT() and halt the system.\r
+\r
+  @param SecCoreData  Points to a data structure containing information about the PEI\r
+                      core's operating environment, such as the size and location of\r
+                      temporary RAM, the stack location and the BFV location. \r
+\r
+  @param PpiList      Points to a list of one or more PPI descriptors to be installed\r
+                      initially by the PEI core. An empty PPI list consists of a single\r
+                      descriptor with the end-tag EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST.\r
+                      As part of its initialization phase, the PEI Foundation will add\r
+                      these SEC-hosted PPIs to its PPI database such that both the PEI\r
+                      Foundation and any modules can leverage the associated service calls\r
+                      and/or code in these early PPIs.\r
 \r
 **/\r
 VOID\r
@@ -51,26 +57,17 @@ _ModuleEntryPoint(
 \r
   This function is required to call _ModuleEntryPoint() passing in SecCoreData and PpiList.\r
 \r
-  @param SecCoreData    Points to a data structure containing\r
-                        information about the PEI core's\r
-                        operating environment, such as the size\r
-                        and location of temporary RAM, the stack\r
-                        location and the BFV location. The type\r
-                        EFI_SEC_PEI_HAND_OFF is\r
-\r
-  @param PpiList        Points to a list of one or more PPI\r
-                        descriptors to be installed initially by\r
-                        the PEI core. An empty PPI list consists\r
-                        of a single descriptor with the end-tag\r
-                        EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST.\r
-                        As part of its initialization phase, the\r
-                        PEI Foundation will add these SEC-hosted\r
-                        PPIs to its PPI database such that both\r
-                        the PEI Foundation and any modules can\r
-                        leverage the associated service calls\r
-                        and/or code in these early PPIs.\r
\r
-  @return Status returned by entry points of core and drivers. \r
+  @param SecCoreData  Points to a data structure containing information about the PEI core's\r
+                      operating environment, such as the size and location of temporary RAM,\r
+                      the stack location and the BFV location. \r
+\r
+  @param PpiList      Points to a list of one or more PPI descriptors to be installed\r
+                      initially by the PEI core.  An empty PPI list consists of a single\r
+                      descriptor with the end-tag EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST.\r
+                      As part of its initialization phase, the PEI Foundation will add these\r
+                      SEC-hosted PPIs to its PPI database such that both the PEI Foundation\r
+                      and any modules can leverage the associated service calls and/or code\r
+                      in these early PPIs.\r
 \r
 **/\r
 VOID\r
@@ -84,12 +81,18 @@ EfiMain (
   Autogenerated function that calls the library constructors for all of the module's\r
   dependent libraries.\r
 \r
-  This function must be called by the PEI Core once an initial PEI Services Table has\r
-  been established.\r
+  This function must be called by the PEI Core once an initial PEI Services Table has been established.\r
+  This function calls the set of library constructors for the set of library instances that a\r
+  module depends on.  This include library instances that a module depends on directly and library\r
+  instances that a module depends on indirectly through other libraries.  \r
+  This function is autogenerated by build tools and those build tools are responsible for collecting\r
+  the set of library instances, determine which ones have constructors, and calling the library\r
+  constructors in the proper order based upon each of the library instances own dependencies.\r
+  The PEI Core must call this function with a NULL FileHandle value as soon as the initial PEI\r
+  Services Table has been established.\r
 \r
-  @param  FileHandle  Handle of the file being invoked. \r
-                      Type EFI_PEI_FILE_HANDLE is defined in FfsFindNextFile().\r
-  @param  PeiServices Pointer to the PEI Services Table.\r
+  @param  FileHandle   Handle of the file being invoked.Type EFI_PEI_FILE_HANDLE is defined in FfsFindNextFile().\r
+  @param  PeiServices  Describes the list of possible PEI Services.\r
 \r
 **/\r
 VOID\r
@@ -104,25 +107,21 @@ ProcessLibraryConstructorList (
   Autogenerated function that calls a set of module entry points.\r
 \r
   This function must be called by _ModuleEntryPoint().\r
-\r
-  @param SecCoreData    Points to a data structure containing\r
-                        information about the PEI core's\r
-                        operating environment, such as the size\r
-                        and location of temporary RAM, the stack\r
-                        location and the BFV location. The type\r
-                        EFI_SEC_PEI_HAND_OFF is\r
-\r
-  @param PpiList        Points to a list of one or more PPI\r
-                        descriptors to be installed initially by\r
-                        the PEI core. An empty PPI list consists\r
-                        of a single descriptor with the end-tag\r
-                        EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST.\r
-                        As part of its initialization phase, the\r
-                        PEI Foundation will add these SEC-hosted\r
-                        PPIs to its PPI database such that both\r
-                        the PEI Foundation and any modules can\r
-                        leverage the associated service calls\r
-                        and/or code in these early PPIs.\r
+  This function calls the set of module entry points.  \r
+  This function is autogenerated by build tools and those build tools are responsible\r
+  for collecting the module entry points and calling them in a specified order.\r
+\r
+  @param SecCoreData    Points to a data structure containing information about the PEI\r
+                        core's operating environment, such as the size and location of\r
+                        temporary RAM, the stack location and the BFV location. \r
+\r
+  @param PpiList        Points to a list of one or more PPI descriptors to be installed\r
+                        initially by the PEI core. An empty PPI list consists of a single\r
+                        descriptor with the end-tag EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST.\r
+                        As part of its initialization phase, the PEI Foundation will add\r
+                        these SEC-hosted PPIs to its PPI database such that both the PEI\r
+                        Foundation and any modules can leverage the associated service calls\r
+                        and/or code in these early PPIs. \r
   @param  OldCoreData   Pointer to Original startup information.\r
 \r
 **/\r
index e6a55ee..30b8aa9 100644 (file)
@@ -38,9 +38,7 @@ SerialPortInitialize (
   Writes NumberOfBytes data bytes from Buffer to the serial device.  \r
   The number of bytes actually written to the serial device is returned.\r
   If the return value is less than NumberOfBytes, then the write operation failed.\r
-\r
   If Buffer is NULL, then ASSERT(). \r
-\r
   If NumberOfBytes is zero, then return 0.\r
 \r
   @param  Buffer           Pointer to the data buffer to be written.\r
@@ -65,16 +63,14 @@ SerialPortWrite (
   Reads NumberOfBytes data bytes from a serial device into the buffer\r
   specified by Buffer. The number of bytes actually read is returned. \r
   If the return value is less than NumberOfBytes, then the rest operation failed.\r
-\r
   If Buffer is NULL, then ASSERT(). \r
-\r
   If NumberOfBytes is zero, then return 0.\r
 \r
   @param  Buffer           Pointer to the data buffer to store the data read from the serial device.\r
   @param  NumberOfBytes    Number of bytes which will be read.\r
 \r
   @retval 0                Read data failed, No data is to be read.\r
-  @retval !0               Aactual number of bytes read from serial device.\r
+  @retval >0               Aactual number of bytes read from serial device.\r
 \r
 **/\r
 UINTN\r
index 4f92031..e24342e 100644 (file)
@@ -16,6 +16,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #define __TIMER_LIB__\r
 \r
 /**\r
+  Stalls the CPU for at least the given number of microseconds.\r
+\r
   Stalls the CPU for the number of microseconds specified by MicroSeconds.\r
 \r
   @param  MicroSeconds  The minimum number of microseconds to delay.\r
@@ -30,6 +32,8 @@ MicroSecondDelay (
   );\r
 \r
 /**\r
+  Stalls the CPU for at least the given number of nanoseconds.\r
+\r
   Stalls the CPU for the number of nanoseconds specified by NanoSeconds.\r
 \r
   @param  NanoSeconds The minimum number of nanoseconds to delay.\r
@@ -44,7 +48,8 @@ NanoSecondDelay (
   );\r
 \r
 /**\r
-  Retrieves the current value of a 64-bit free running performance counter. \r
+  Retrieves the current value of a 64-bit free running performance counter.\r
+\r
   The counter can either count up by 1 or count down by 1. If the physical\r
   performance counter counts by a larger increment, then the counter values\r
   must be translated. The properties of the counter can be retrieved from\r
index b6c193b..9497f9a 100644 (file)
@@ -24,11 +24,18 @@ extern CONST UINT32        _gUefiDriverRevision;
 /**\r
   Enrty point to UEFI Application.\r
 \r
-  @param  ImageHandle ImageHandle of the loaded driver.\r
-  @param  SystemTable Pointer to the EFI System Table.\r
+  This function is the entry point for a UEFI Application. This function must call\r
+  ProcessLibraryConstructorList(), ProcessModuleEntryPointList(), and ProcessLibraryDestructorList().\r
+  The return value from ProcessModuleEntryPointList() is returned.\r
+  If _gUefiDriverRevision is not zero and SystemTable->Hdr.Revision is less than _gUefiDriverRevison,\r
+  then return EFI_INCOMPATIBLE_VERSION.\r
 \r
-  @retval  EFI_SUCCESS One or more of the drivers returned a success code.\r
-  @retval  !EFI_SUCESS The return status from the last driver entry point in the list.\r
+  @param  ImageHandle  The image handle of the UEFI Application.\r
+  @param  SystemTable  A pointer to the EFI System Table.\r
+\r
+  @retval  EFI_SUCCESS               The UEFI Application exited normally.\r
+  @retval  EFI_INCOMPATIBLE_VERSION  _gUefiDriverRevision is greater than SystemTable->Hdr.Revision.\r
+  @retval  Other                     Return value from ProcessModuleEntryPointList().\r
 \r
 **/\r
 EFI_STATUS\r
@@ -40,13 +47,14 @@ _ModuleEntryPoint (
 \r
 \r
 /**\r
-  Enrty point wrapper of UEFI Application.\r
+  Required by the EBC compiler and identical in functionality to _ModuleEntryPoint(). \r
 \r
-  @param  ImageHandle ImageHandle of the loaded driver.\r
-  @param  SystemTable Pointer to the EFI System Table.\r
+  @param  ImageHandle  The image handle of the UEFI Application.\r
+  @param  SystemTable  A pointer to the EFI System Table.\r
 \r
-  @retval  EFI_SUCCESS One or more of the drivers returned a success code.\r
-  @retval  !EFI_SUCESS The return status from the last driver entry point in the list.\r
+  @retval  EFI_SUCCESS               The UEFI Application exited normally.\r
+  @retval  EFI_INCOMPATIBLE_VERSION  _gUefiDriverRevision is greater than SystemTable->Hdr.Revision.\r
+  @retval  Other                     Return value from ProcessModuleEntryPointList().\r
 \r
 **/\r
 EFI_STATUS\r
@@ -58,10 +66,13 @@ EfiMain (
 \r
 \r
 /**\r
-  Invoke the destuctors of all libraries and call gBS->Exit\r
-  to return control to firmware core.\r
+  Invokes the library destructors fror all dependent libraries and terminates\r
+  the UEFI Application. \r
+\r
+  This function calls ProcessLibraryDestructorList() and the EFI Boot Service Exit()\r
+  with a status specified by Status.\r
 \r
-  @param  Status Status returned by the application that is exiting.\r
+  @param  Status  Status returned by the application that is exiting.\r
   \r
 **/\r
 VOID\r
@@ -72,11 +83,20 @@ Exit (
 \r
 \r
 /**\r
-  Call constructors for all libraries.  Autogen tool inserts the implementation\r
-  of this function into Autogen.c.\r
-\r
-  @param  ImageHandle ImageHandle of the loaded driver.\r
-  @param  SystemTable Pointer to the EFI System Table.\r
+  Autogenerated function that calls the library constructors for all of the module's\r
+  dependent libraries.\r
+\r
+  This function must be called by _ModuleEntryPoint().\r
+  This function calls the set of library constructors for the set of library instances\r
+  that a module depends on. This includes library instances that a module depends on\r
+  directly and library instances that a module depends on indirectly through other libraries.  \r
+  This function is autogenerated by build tools and those build tools are responsible for\r
+  collecting the set of library instances, determine which ones have constructors, and\r
+  calling the library constructors in the proper order based upon each of the library\r
+  instances own dependencies.\r
+\r
+  @param  ImageHandle  The image handle of the UEFI Application.\r
+  @param  SystemTable  A pointer to the EFI System Table.\r
   \r
 **/\r
 VOID\r
@@ -88,11 +108,20 @@ ProcessLibraryConstructorList (
 \r
 \r
 /**\r
-  Call destructors for all libraries. Autogen tool inserts the implementation\r
-  of this function into Autogen.c.\r
+  Autogenerated function that calls the library descructors for all of the module's\r
+  dependent libraries.\r
 \r
-  @param  ImageHandle ImageHandle of the loaded driver.\r
-  @param  SystemTable Pointer to the EFI System Table.\r
+  This function may be called by _ModuleEntryPoint()or ExitDriver().\r
+  This function calls the set of library destructors for the set of library instances\r
+  that a module depends on.  This includes library instances that a module depends on\r
+  directly and library instances that a module depends on indirectly through other libraries.  \r
+  This function is autogenerated by build tools and those build tools are responsible\r
+  for collecting the set of library instances, determine which ones have destructors,\r
+  and calling the library destructors in the proper order based upon each of the library\r
+  instances own dependencies.\r
+\r
+  @param  ImageHandle  The image handle of the UEFI Application.\r
+  @param  SystemTable  A pointer to the EFI System Table.\r
 \r
 **/\r
 VOID\r
@@ -110,9 +139,9 @@ ProcessLibraryDestructorList (
   @param  ImageHandle ImageHandle of the loaded driver.\r
   @param  SystemTable Pointer to the EFI System Table.\r
 \r
-  @return Status returned by entry points specified by\r
-          the user.  \r
\r
+  @retval  EFI_SUCCESS   The UEFI Application executed normally.\r
+  @retval  !EFI_SUCCESS  The UEFI Application failed to execute normally.\r
+\r
 **/\r
 EFI_STATUS\r
 EFIAPI\r
index 54ae03d..ef9570b 100644 (file)
@@ -44,7 +44,8 @@ extern CONST UINT8                    _gDriverUnloadImageCount;
   @param  ImageHandle  ImageHandle of the loaded driver.\r
   @param  SystemTable  Pointer to the EFI System Table.\r
 \r
-  @retval  EFI_SUCCESS               One or more of the drivers returned a success code.\r
+  @retval  EFI_SUCCESS               The DXE Driver, DXE Runtime Driver, DXE SMM Driver,\r
+                                     or UEFI Driver exited normally.\r
   @retval  EFI_INCOMPATIBLE_VERSION  _gUefiDriverRevision is greater than SystemTable->Hdr.Revision.\r
   @retval  Other                     Return value from ProcessModuleEntryPointList().\r
 \r
index ff1d14b..fef62ab 100644 (file)
@@ -44,9 +44,7 @@ SerialPortInitialize (
   Writes NumberOfBytes data bytes from Buffer to the serial device.  \r
   The number of bytes actually written to the serial device is returned.\r
   If the return value is less than NumberOfBytes, then the write operation failed.\r
-\r
   If Buffer is NULL, then ASSERT(). \r
-\r
   If NumberOfBytes is zero, then return 0.\r
 \r
   @param  Buffer           Pointer to the data buffer to be written.\r
@@ -69,14 +67,19 @@ SerialPortWrite (
 \r
 \r
 /**\r
-  Reads data from a serial device into a buffer.\r
+  Read data from serial device and save the datas in buffer.\r
\r
+  Reads NumberOfBytes data bytes from a serial device into the buffer\r
+  specified by Buffer. The number of bytes actually read is returned. \r
+  If the return value is less than NumberOfBytes, then the rest operation failed.\r
+  If Buffer is NULL, then ASSERT(). \r
+  If NumberOfBytes is zero, then return 0.\r
 \r
   @param  Buffer           Pointer to the data buffer to store the data read from the serial device.\r
-  @param  NumberOfBytes    Number of bytes to read from the serial device.\r
+  @param  NumberOfBytes    Number of bytes which will be read.\r
 \r
-  @retval 0                NumberOfBytes is 0.\r
-  @retval >0               The number of bytes read from the serial device.  \r
-                           If this value is less than NumberOfBytes, then the read operation failed.\r
+  @retval 0                Read data failed, No data is to be read.\r
+  @retval >0               Aactual number of bytes read from serial device.\r
 \r
 **/\r
 UINTN\r
index f728791..aaf22c9 100644 (file)
@@ -17,6 +17,8 @@
 #include <Library/DebugLib.h>\r
 \r
 /**\r
+  Stalls the CPU for at least the given number of microseconds.\r
+\r
   Stalls the CPU for the number of microseconds specified by MicroSeconds.\r
 \r
   @param  MicroSeconds  The minimum number of microseconds to delay.\r
@@ -35,6 +37,8 @@ MicroSecondDelay (
 }\r
 \r
 /**\r
+  Stalls the CPU for at least the given number of nanoseconds.\r
+\r
   Stalls the CPU for the number of nanoseconds specified by NanoSeconds.\r
 \r
   @param  NanoSeconds The minimum number of nanoseconds to delay.\r
@@ -53,8 +57,9 @@ NanoSecondDelay (
 }\r
 \r
 /**\r
-  Retrieves the current value of a 64-bit free running performance counter. The\r
-  counter can either count up by 1 or count down by 1. If the physical\r
+  Retrieves the current value of a 64-bit free running performance counter.\r
+\r
+  The counter can either count up by 1 or count down by 1. If the physical\r
   performance counter counts by a larger increment, then the counter values\r
   must be translated. The properties of the counter can be retrieved from\r
   GetPerformanceCounterProperties().\r
index edfc0bc..71487dc 100644 (file)
@@ -26,10 +26,17 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
   If Length in SmBusAddress is not zero, then ASSERT().\r
   If any reserved bits of SmBusAddress are set, then ASSERT().\r
 \r
-  @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
-                          SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  SmBusAddress  Address that encodes the SMBUS Slave Address,\r
+                        SMBUS Command, SMBUS Data Length, and PEC.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_SUCCESS  The SMBUS command was executed.\r
+                        RETURN_TIMEOUT  A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
 **/\r
 VOID\r
@@ -58,10 +65,17 @@ SmBusQuickRead (
   If Length in SmBusAddress is not zero, then ASSERT().\r
   If any reserved bits of SmBusAddress are set, then ASSERT().\r
 \r
-  @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
-                          SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  SmBusAddress  Address that encodes the SMBUS Slave Address,\r
+                        SMBUS Command, SMBUS Data Length, and PEC.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_SUCCESS The SMBUS command was executed.\r
+                        RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR  The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
 **/\r
 VOID\r
@@ -90,10 +104,18 @@ SmBusQuickWrite (
   If Length in SmBusAddress is not zero, then ASSERT().\r
   If any reserved bits of SmBusAddress are set, then ASSERT().\r
 \r
-  @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
-                          SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  SmBusAddress  Address that encodes the SMBUS Slave Address,\r
+                        SMBUS Command, SMBUS Data Length, and PEC.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_SUCCESS The SMBUS command was executed.\r
+                        RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR  The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_CRC_ERROR  The checksum is not correct (PEC is incorrect)\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
   @return The byte received from the SMBUS.\r
 \r
@@ -127,11 +149,19 @@ SmBusReceiveByte (
   If Length in SmBusAddress is not zero, then ASSERT().\r
   If any reserved bits of SmBusAddress are set, then ASSERT().\r
 \r
-  @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
-                          SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  Value           The 8-bit value to send.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  SmBusAddress  Address that encodes the SMBUS Slave Address,\r
+                        SMBUS Command, SMBUS Data Length, and PEC.\r
+  @param  Value         The 8-bit value to send.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_SUCCESS The SMBUS command was executed.\r
+                        RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR  The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_CRC_ERROR  The checksum is not correct (PEC is incorrect)\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
   @return The parameter of Value.\r
 \r
@@ -168,8 +198,16 @@ SmBusSendByte (
 \r
   @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
                           SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_SUCCESS The SMBUS command was executed.\r
+                        RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR  The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_CRC_ERROR  The checksum is not correct (PEC is incorrect)\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
   @return The byte read from the SMBUS.\r
 \r
@@ -202,11 +240,19 @@ SmBusReadDataByte (
   If Length in SmBusAddress is not zero, then ASSERT().\r
   If any reserved bits of SmBusAddress are set, then ASSERT().\r
 \r
-  @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
-                          SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  Value           The 8-bit value to write.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  SmBusAddress  Address that encodes the SMBUS Slave Address,\r
+                        SMBUS Command, SMBUS Data Length, and PEC.\r
+  @param  Value         The 8-bit value to write.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_SUCCESS The SMBUS command was executed.\r
+                        RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR  The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_CRC_ERROR  The checksum is not correct (PEC is incorrect)\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
   @return The parameter of Value.\r
 \r
@@ -239,11 +285,19 @@ SmBusWriteDataByte (
   If Status is not NULL, then the status of the executed command is returned in Status.\r
   If Length in SmBusAddress is not zero, then ASSERT().\r
   If any reserved bits of SmBusAddress are set, then ASSERT().\r
-\r
-  @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
-                          SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  \r
+  @param  SmBusAddress  Address that encodes the SMBUS Slave Address,\r
+                        SMBUS Command, SMBUS Data Length, and PEC.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_SUCCESS The SMBUS command was executed.\r
+                        RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR  The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_CRC_ERROR  The checksum is not correct (PEC is incorrect)\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
   @return The byte read from the SMBUS.\r
 \r
@@ -276,11 +330,19 @@ SmBusReadDataWord (
   If Length in SmBusAddress is not zero, then ASSERT().\r
   If any reserved bits of SmBusAddress are set, then ASSERT().\r
 \r
-  @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
-                          SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  Value           The 16-bit value to write.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  SmBusAddress  Address that encodes the SMBUS Slave Address,\r
+                        SMBUS Command, SMBUS Data Length, and PEC.\r
+  @param  Value         The 16-bit value to write.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_SUCCESS The SMBUS command was executed.\r
+                        RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR  The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_CRC_ERROR  The checksum is not correct (PEC is incorrect)\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
   @return The parameter of Value.\r
 \r
@@ -315,11 +377,19 @@ SmBusWriteDataWord (
   If Length in SmBusAddress is not zero, then ASSERT().\r
   If any reserved bits of SmBusAddress are set, then ASSERT().\r
 \r
-  @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
-                          SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  Value           The 16-bit value to write.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  SmBusAddress  Address that encodes the SMBUS Slave Address,\r
+                        SMBUS Command, SMBUS Data Length, and PEC.\r
+  @param  Value         The 16-bit value to write.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_SUCCESS The SMBUS command was executed.\r
+                        RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR  The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_CRC_ERROR  The checksum is not correct (PEC is incorrect)\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
   @return The 16-bit value returned by the process call command.\r
 \r
@@ -354,11 +424,19 @@ SmBusProcessCall (
   If Buffer is NULL, then ASSERT().\r
   If any reserved bits of SmBusAddress are set, then ASSERT().\r
 \r
-  @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
-                          SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  Buffer          Pointer to the buffer to store the bytes read from the SMBUS.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  SmBusAddress  Address that encodes the SMBUS Slave Address,\r
+                        SMBUS Command, SMBUS Data Length, and PEC.\r
+  @param  Buffer        Pointer to the buffer to store the bytes read from the SMBUS.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_SUCCESS The SMBUS command was executed.\r
+                        RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR  The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_CRC_ERROR  The checksum is not correct (PEC is incorrect)\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
   @return The number of bytes read.\r
 \r
@@ -385,16 +463,23 @@ SmBusReadBlock (
   The SMBUS slave address, SMBUS command, and SMBUS length fields of SmBusAddress are required.\r
   Bytes are written to the SMBUS from Buffer.\r
   The number of bytes written is returned, and will never return a value larger than 32-bytes.\r
-  If Status is not NULL, then the status of the executed command is returned in Status.\r
+  If Status is not NULL, then the status of the executed command is returned in Status.  \r
   If Length in SmBusAddress is zero or greater than 32, then ASSERT().\r
   If Buffer is NULL, then ASSERT().\r
   If any reserved bits of SmBusAddress are set, then ASSERT().\r
 \r
-  @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
-                          SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  Buffer          Pointer to the buffer to store the bytes read from the SMBUS.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  SmBusAddress  Address that encodes the SMBUS Slave Address,\r
+                        MBUS Command, SMBUS Data Length, and PEC.\r
+  @param  Buffer        Pointer to the buffer to store the bytes read from the SMBUS.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR  The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_CRC_ERROR  The checksum is not correct (PEC is incorrect)\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
   @return The number of bytes written.\r
 \r
@@ -432,12 +517,19 @@ SmBusWriteBlock (
   If ReadBuffer is NULL, then ASSERT().\r
   If any reserved bits of SmBusAddress are set, then ASSERT().\r
 \r
-  @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
-                          SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  WriteBuffer     Pointer to the buffer of bytes to write to the SMBUS.\r
-  @param  ReadBuffer      Pointer to the buffer of bytes to read from the SMBUS.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  SmBusAddress  Address that encodes the SMBUS Slave Address,\r
+                        SMBUS Command, SMBUS Data Length, and PEC.\r
+  @param  WriteBuffer   Pointer to the buffer of bytes to write to the SMBUS.\r
+  @param  ReadBuffer    Pointer to the buffer of bytes to read from the SMBUS.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR  The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_CRC_ERROR  The checksum is not correct (PEC is incorrect)\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
   @return The number of bytes written.\r
 \r
index 6b9f12d..a5c3417 100644 (file)
@@ -23,27 +23,33 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include <Library/DebugLib.h>\r
 \r
 /**\r
+  The entry point of PE/COFF Image for the PEI Core.\r
 \r
-  Enrty point to PEI core.\r
-\r
-  @param SecCoreData    Points to a data structure containing\r
-                        information about the PEI core's\r
-                        operating environment, such as the size\r
-                        and location of temporary RAM, the stack\r
-                        location and the BFV location. The type\r
-                        EFI_SEC_PEI_HAND_OFF is\r
-\r
-  @param PpiList        Points to a list of one or more PPI\r
-                        descriptors to be installed initially by\r
-                        the PEI core. An empty PPI list consists\r
-                        of a single descriptor with the end-tag\r
-                        EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST.\r
-                        As part of its initialization phase, the\r
-                        PEI Foundation will add these SEC-hosted\r
-                        PPIs to its PPI database such that both\r
-                        the PEI Foundation and any modules can\r
-                        leverage the associated service calls\r
-                        and/or code in these early PPIs.\r
+  This function is the entry point for the PEI Foundation, which allows the SEC phase\r
+  to pass information about the stack, temporary RAM and the Boot Firmware Volume.\r
+  In addition, it also allows the SEC phase to pass services and data forward for use\r
+  during the PEI phase in the form of one or more PPIs.\r
+  There is no limit to the number of additional PPIs that can be passed from SEC into\r
+  the PEI Foundation. As part of its initialization phase, the PEI Foundation will add\r
+  these SEC-hosted PPIs to its PPI database such that both the PEI Foundation and any\r
+  modules can leverage the associated service calls and/or code in these early PPIs.\r
+  This function is required to call ProcessModuleEntryPointList() with the Context\r
+  parameter set to NULL.  ProcessModuleEntryPoint() is never expected to return.\r
+  The PEI Core is responsible for calling ProcessLibraryConstructorList() as soon as\r
+  the PEI Services Table and the file handle for the PEI Core itself have been established.\r
+  If ProcessModuleEntryPointList() returns, then ASSERT() and halt the system.\r
+\r
+  @param SecCoreData  Points to a data structure containing information about the PEI\r
+                      core's operating environment, such as the size and location of\r
+                      temporary RAM, the stack location and the BFV location. \r
+\r
+  @param PpiList      Points to a list of one or more PPI descriptors to be installed\r
+                      initially by the PEI core. An empty PPI list consists of a single\r
+                      descriptor with the end-tag EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST.\r
+                      As part of its initialization phase, the PEI Foundation will add\r
+                      these SEC-hosted PPIs to its PPI database such that both the PEI\r
+                      Foundation and any modules can leverage the associated service calls\r
+                      and/or code in these early PPIs.\r
 \r
 **/\r
 VOID\r
@@ -64,27 +70,21 @@ _ModuleEntryPoint(
 \r
 \r
 /**\r
-  \r
-  Wrapper of enrty point to PEI core.\r
-  \r
-  @param SecCoreData    Points to a data structure containing\r
-                        information about the PEI core's\r
-                        operating environment, such as the size\r
-                        and location of temporary RAM, the stack\r
-                        location and the BFV location. The type\r
-                        EFI_SEC_PEI_HAND_OFF is\r
-\r
-  @param PpiList        Points to a list of one or more PPI\r
-                        descriptors to be installed initially by\r
-                        the PEI core. An empty PPI list consists\r
-                        of a single descriptor with the end-tag\r
-                        EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST.\r
-                        As part of its initialization phase, the\r
-                        PEI Foundation will add these SEC-hosted\r
-                        PPIs to its PPI database such that both\r
-                        the PEI Foundation and any modules can\r
-                        leverage the associated service calls\r
-                        and/or code in these early PPIs.\r
+  Required by the EBC compiler and identical in functionality to _ModuleEntryPoint().\r
+\r
+  This function is required to call _ModuleEntryPoint() passing in SecCoreData and PpiList.\r
+\r
+  @param SecCoreData  Points to a data structure containing information about the PEI core's\r
+                      operating environment, such as the size and location of temporary RAM,\r
+                      the stack location and the BFV location. \r
+\r
+  @param PpiList      Points to a list of one or more PPI descriptors to be installed\r
+                      initially by the PEI core.  An empty PPI list consists of a single\r
+                      descriptor with the end-tag EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST.\r
+                      As part of its initialization phase, the PEI Foundation will add these\r
+                      SEC-hosted PPIs to its PPI database such that both the PEI Foundation\r
+                      and any modules can leverage the associated service calls and/or code\r
+                      in these early PPIs.\r
 \r
 **/\r
 VOID\r
index e47d20d..da9a687 100644 (file)
@@ -26,10 +26,17 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
   If Length in SmBusAddress is not zero, then ASSERT().\r
   If any reserved bits of SmBusAddress are set, then ASSERT().\r
 \r
-  @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
-                          SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  SmBusAddress  Address that encodes the SMBUS Slave Address,\r
+                        SMBUS Command, SMBUS Data Length, and PEC.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_SUCCESS  The SMBUS command was executed.\r
+                        RETURN_TIMEOUT  A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
 **/\r
 VOID\r
@@ -58,10 +65,17 @@ SmBusQuickRead (
   If Length in SmBusAddress is not zero, then ASSERT().\r
   If any reserved bits of SmBusAddress are set, then ASSERT().\r
 \r
-  @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
-                          SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  SmBusAddress  Address that encodes the SMBUS Slave Address,\r
+                        SMBUS Command, SMBUS Data Length, and PEC.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_SUCCESS The SMBUS command was executed.\r
+                        RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR  The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
 **/\r
 VOID\r
@@ -90,10 +104,18 @@ SmBusQuickWrite (
   If Length in SmBusAddress is not zero, then ASSERT().\r
   If any reserved bits of SmBusAddress are set, then ASSERT().\r
 \r
-  @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
-                          SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  SmBusAddress  Address that encodes the SMBUS Slave Address,\r
+                        SMBUS Command, SMBUS Data Length, and PEC.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_SUCCESS The SMBUS command was executed.\r
+                        RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR  The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_CRC_ERROR  The checksum is not correct (PEC is incorrect)\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
   @return The byte received from the SMBUS.\r
 \r
@@ -127,11 +149,19 @@ SmBusReceiveByte (
   If Length in SmBusAddress is not zero, then ASSERT().\r
   If any reserved bits of SmBusAddress are set, then ASSERT().\r
 \r
-  @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
-                          SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  Value           The 8-bit value to send.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  SmBusAddress  Address that encodes the SMBUS Slave Address,\r
+                        SMBUS Command, SMBUS Data Length, and PEC.\r
+  @param  Value         The 8-bit value to send.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_SUCCESS The SMBUS command was executed.\r
+                        RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR  The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_CRC_ERROR  The checksum is not correct (PEC is incorrect)\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
   @return The parameter of Value.\r
 \r
@@ -168,8 +198,16 @@ SmBusSendByte (
 \r
   @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
                           SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_SUCCESS The SMBUS command was executed.\r
+                        RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR  The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_CRC_ERROR  The checksum is not correct (PEC is incorrect)\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
   @return The byte read from the SMBUS.\r
 \r
@@ -202,11 +240,19 @@ SmBusReadDataByte (
   If Length in SmBusAddress is not zero, then ASSERT().\r
   If any reserved bits of SmBusAddress are set, then ASSERT().\r
 \r
-  @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
-                          SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  Value           The 8-bit value to write.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  SmBusAddress  Address that encodes the SMBUS Slave Address,\r
+                        SMBUS Command, SMBUS Data Length, and PEC.\r
+  @param  Value         The 8-bit value to write.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_SUCCESS The SMBUS command was executed.\r
+                        RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR  The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_CRC_ERROR  The checksum is not correct (PEC is incorrect)\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
   @return The parameter of Value.\r
 \r
@@ -239,11 +285,19 @@ SmBusWriteDataByte (
   If Status is not NULL, then the status of the executed command is returned in Status.\r
   If Length in SmBusAddress is not zero, then ASSERT().\r
   If any reserved bits of SmBusAddress are set, then ASSERT().\r
-\r
-  @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
-                          SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  \r
+  @param  SmBusAddress  Address that encodes the SMBUS Slave Address,\r
+                        SMBUS Command, SMBUS Data Length, and PEC.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_SUCCESS The SMBUS command was executed.\r
+                        RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR  The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_CRC_ERROR  The checksum is not correct (PEC is incorrect)\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
   @return The byte read from the SMBUS.\r
 \r
@@ -276,11 +330,19 @@ SmBusReadDataWord (
   If Length in SmBusAddress is not zero, then ASSERT().\r
   If any reserved bits of SmBusAddress are set, then ASSERT().\r
 \r
-  @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
-                          SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  Value           The 16-bit value to write.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  SmBusAddress  Address that encodes the SMBUS Slave Address,\r
+                        SMBUS Command, SMBUS Data Length, and PEC.\r
+  @param  Value         The 16-bit value to write.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_SUCCESS The SMBUS command was executed.\r
+                        RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR  The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_CRC_ERROR  The checksum is not correct (PEC is incorrect)\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
   @return The parameter of Value.\r
 \r
@@ -315,11 +377,19 @@ SmBusWriteDataWord (
   If Length in SmBusAddress is not zero, then ASSERT().\r
   If any reserved bits of SmBusAddress are set, then ASSERT().\r
 \r
-  @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
-                          SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  Value           The 16-bit value to write.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  SmBusAddress  Address that encodes the SMBUS Slave Address,\r
+                        SMBUS Command, SMBUS Data Length, and PEC.\r
+  @param  Value         The 16-bit value to write.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_SUCCESS The SMBUS command was executed.\r
+                        RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR  The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_CRC_ERROR  The checksum is not correct (PEC is incorrect)\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
   @return The 16-bit value returned by the process call command.\r
 \r
@@ -354,11 +424,19 @@ SmBusProcessCall (
   If Buffer is NULL, then ASSERT().\r
   If any reserved bits of SmBusAddress are set, then ASSERT().\r
 \r
-  @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
-                          SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  Buffer          Pointer to the buffer to store the bytes read from the SMBUS.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  SmBusAddress  Address that encodes the SMBUS Slave Address,\r
+                        SMBUS Command, SMBUS Data Length, and PEC.\r
+  @param  Buffer        Pointer to the buffer to store the bytes read from the SMBUS.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_SUCCESS The SMBUS command was executed.\r
+                        RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR  The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_CRC_ERROR  The checksum is not correct (PEC is incorrect)\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
   @return The number of bytes read.\r
 \r
@@ -385,16 +463,23 @@ SmBusReadBlock (
   The SMBUS slave address, SMBUS command, and SMBUS length fields of SmBusAddress are required.\r
   Bytes are written to the SMBUS from Buffer.\r
   The number of bytes written is returned, and will never return a value larger than 32-bytes.\r
-  If Status is not NULL, then the status of the executed command is returned in Status.\r
+  If Status is not NULL, then the status of the executed command is returned in Status.  \r
   If Length in SmBusAddress is zero or greater than 32, then ASSERT().\r
   If Buffer is NULL, then ASSERT().\r
   If any reserved bits of SmBusAddress are set, then ASSERT().\r
 \r
-  @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
-                          SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  Buffer          Pointer to the buffer to store the bytes read from the SMBUS.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  SmBusAddress  Address that encodes the SMBUS Slave Address,\r
+                        MBUS Command, SMBUS Data Length, and PEC.\r
+  @param  Buffer        Pointer to the buffer to store the bytes read from the SMBUS.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR  The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_CRC_ERROR  The checksum is not correct (PEC is incorrect)\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
   @return The number of bytes written.\r
 \r
@@ -432,12 +517,19 @@ SmBusWriteBlock (
   If ReadBuffer is NULL, then ASSERT().\r
   If any reserved bits of SmBusAddress are set, then ASSERT().\r
 \r
-  @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
-                          SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  WriteBuffer     Pointer to the buffer of bytes to write to the SMBUS.\r
-  @param  ReadBuffer      Pointer to the buffer of bytes to read from the SMBUS.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  SmBusAddress  Address that encodes the SMBUS Slave Address,\r
+                        SMBUS Command, SMBUS Data Length, and PEC.\r
+  @param  WriteBuffer   Pointer to the buffer of bytes to write to the SMBUS.\r
+  @param  ReadBuffer    Pointer to the buffer of bytes to read from the SMBUS.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR  The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_CRC_ERROR  The checksum is not correct (PEC is incorrect)\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
   @return The number of bytes written.\r
 \r
index fec938d..8938ed6 100644 (file)
@@ -97,8 +97,9 @@ NanoSecondDelay (
 }\r
 \r
 /**\r
-  Retrieves the current value of a 64-bit free running performance counter. The\r
-  counter can either count up by 1 or count down by 1. If the physical\r
+  Retrieves the current value of a 64-bit free running performance counter.\r
+\r
+  The counter can either count up by 1 or count down by 1. If the physical\r
   performance counter counts by a larger increment, then the counter values\r
   must be translated. The properties of the counter can be retrieved from\r
   GetPerformanceCounterProperties().\r
index 2c6a92b..72c684e 100644 (file)
@@ -183,8 +183,9 @@ NanoSecondDelay (
 }\r
 \r
 /**\r
-  Retrieves the current value of a 64-bit free running performance counter. The\r
-  counter can either count up by 1 or count down by 1. If the physical\r
+  Retrieves the current value of a 64-bit free running performance counter.\r
+\r
+  The counter can either count up by 1 or count down by 1. If the physical\r
   performance counter counts by a larger increment, then the counter values\r
   must be translated. The properties of the counter can be retrieved from\r
   GetPerformanceCounterProperties().\r
index c5abc85..da10674 100644 (file)
@@ -18,13 +18,20 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
 \r
 /**\r
-  Enrty point to UEFI application.\r
+  Enrty point to UEFI Application.\r
 \r
-  @param  ImageHandle ImageHandle of the loaded driver.\r
-  @param  SystemTable Pointer to the EFI System Table.\r
+  This function is the entry point for a UEFI Application. This function must call\r
+  ProcessLibraryConstructorList(), ProcessModuleEntryPointList(), and ProcessLibraryDestructorList().\r
+  The return value from ProcessModuleEntryPointList() is returned.\r
+  If _gUefiDriverRevision is not zero and SystemTable->Hdr.Revision is less than _gUefiDriverRevison,\r
+  then return EFI_INCOMPATIBLE_VERSION.\r
 \r
-  @retval  EFI_SUCCESS One or more of the drivers returned a success code.\r
-  @retval  !EFI_SUCESS The return status from the last driver entry point in the list.\r
+  @param  ImageHandle  The image handle of the UEFI Application.\r
+  @param  SystemTable  A pointer to the EFI System Table.\r
+\r
+  @retval  EFI_SUCCESS               The UEFI Application exited normally.\r
+  @retval  EFI_INCOMPATIBLE_VERSION  _gUefiDriverRevision is greater than SystemTable->Hdr.Revision.\r
+  @retval  Other                     Return value from ProcessModuleEntryPointList().\r
 \r
 **/\r
 EFI_STATUS\r
@@ -66,11 +73,15 @@ _ModuleEntryPoint (
   return Status;\r
 }\r
 \r
+\r
 /**\r
-  Invoke the destuctors of all libraries and call gBS->Exit\r
-  to return control to firmware core.\r
+  Invokes the library destructors fror all dependent libraries and terminates\r
+  the UEFI Application. \r
 \r
-  @param  Status Status returned by the application that is exiting.\r
+  This function calls ProcessLibraryDestructorList() and the EFI Boot Service Exit()\r
+  with a status specified by Status.\r
+\r
+  @param  Status  Status returned by the application that is exiting.\r
   \r
 **/\r
 VOID\r
@@ -85,14 +96,16 @@ Exit (
   gBS->Exit (gImageHandle, Status, 0, NULL);\r
 }\r
 \r
+\r
 /**\r
-  Enrty point wrapper of UEFI Application.\r
+  Required by the EBC compiler and identical in functionality to _ModuleEntryPoint(). \r
 \r
-  @param  ImageHandle ImageHandle of the loaded driver.\r
-  @param  SystemTable Pointer to the EFI System Table.\r
+  @param  ImageHandle  The image handle of the UEFI Application.\r
+  @param  SystemTable  A pointer to the EFI System Table.\r
 \r
-  @retval  EFI_SUCCESS One or more of the drivers returned a success code.\r
-  @retval  !EFI_SUCESS The return status from the last driver entry point in the list.\r
+  @retval  EFI_SUCCESS               The UEFI Application exited normally.\r
+  @retval  EFI_INCOMPATIBLE_VERSION  _gUefiDriverRevision is greater than SystemTable->Hdr.Revision.\r
+  @retval  Other                     Return value from ProcessModuleEntryPointList().\r
 \r
 **/\r
 EFI_STATUS\r