/** @file\r
PI PEI master include file. This file should match the PI spec.\r
\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
- http://opensource.org/licenses/bsd-license.php \r
+Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials are licensed and made available under \r
+the terms and conditions of the BSD License that accompanies this distribution. \r
+The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php. \r
+ \r
\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
\r
@par Revision Reference:\r
- PI Version 1.0\r
+ PI Version 1.0.\r
\r
**/\r
\r
#include <Pi/PiMultiPhase.h>\r
\r
///\r
-/// Handles of EFI FV.\r
+/// The handles of EFI FV.\r
/// \r
typedef VOID *EFI_PEI_FV_HANDLE;\r
\r
///\r
-/// Handles of EFI FFS\r
+/// The handles of EFI FFS.\r
/// \r
typedef VOID *EFI_PEI_FILE_HANDLE;\r
\r
///\r
-/// Declare forward reference data structure for EFI_PEI_SERVICE\r
+/// Declare the forward reference data structure for EFI_PEI_SERVICE.\r
/// \r
typedef struct _EFI_PEI_SERVICES EFI_PEI_SERVICES;\r
\r
///\r
-/// Declare forward reference data structure for EFI_PEI_NOTIFY_DESCRIPTOR\r
+/// Declare the forward reference data structure for EFI_PEI_NOTIFY_DESCRIPTOR.\r
/// \r
typedef struct _EFI_PEI_NOTIFY_DESCRIPTOR EFI_PEI_NOTIFY_DESCRIPTOR;\r
\r
/// \r
struct _EFI_PEI_NOTIFY_DESCRIPTOR {\r
///\r
- /// Details if the type of notification is callback or dispatch.\r
+ /// Details if the type of notification are callback or dispatch.\r
///\r
UINTN Flags;\r
///\r
@param PpiList A pointer to the list of interfaces that the caller shall install.\r
\r
@retval EFI_SUCCESS The interface was successfully installed.\r
- @retval EFI_INVALID_PARAMETER The PpiList pointer is NULL or Any of the PEI PPI descriptors in the list do not have the EFI_PEI_PPI_DESCRIPTOR_PPI bit set in the Flags field.\r
+ @retval EFI_INVALID_PARAMETER The PpiList pointer is NULL or Any of the PEI PPI \r
+ descriptors in the list do not have the \r
+ EFI_PEI_PPI_DESCRIPTOR_PPI bit set in the Flags field.\r
@retval EFI_OUT_OF_RESOURCES There is no additional space in the PPI database.\r
\r
**/\r
@param NotifyList A pointer to the list of notification interfaces that the caller shall install.\r
\r
@retval EFI_SUCCESS The interface was successfully installed.\r
- @retval EFI_INVALID_PARAMETER The PpiList pointer is NULL or Any of the PEI PPI descriptors in the \r
+ @retval EFI_INVALID_PARAMETER The PpiList pointer is NULL, or any of the PEI PPI descriptors in the \r
list do not have the EFI_PEI_PPI_DESCRIPTOR_PPI bit set in the Flags field.\r
@retval EFI_OUT_OF_RESOURCES There is no additional space in the PPI database.\r
\r
@param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation.\r
@param BootMode A pointer to contain the value of the boot mode.\r
\r
- @retval EFI_SUCCESS The boot mode was returned successfully.\r
+ @retval EFI_SUCCESS The boot mode returned successfully.\r
\r
**/\r
typedef\r
@param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation\r
@param BootMode The value of the boot mode to set.\r
\r
- @retval EFI_SUCCESS The boot mode was returned successfully.\r
+ @retval EFI_SUCCESS The boot mode returned successfully.\r
\r
**/\r
typedef\r
);\r
\r
/**\r
- This service published by the PEI Foundation abstracts the creation of a Hand-Off Block's (HOB's) headers.\r
+ This service, published by the PEI Foundation, abstracts the creation of a Hand-Off Block's (HOB's) headers.\r
\r
@param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation.\r
@param Type The type of HOB to be installed.\r
This service will search within encapsulation sections (compression and GUIDed) as well. It will\r
search inside of a GUIDed section or a compressed section, but may not, for example, search a\r
GUIDed section inside a GUIDes section.\r
- This service will not search within compression sections or GUIDed sections which require\r
+ This service will not search within compression sections or GUIDed sections that require\r
extraction if memory is not present.\r
\r
@param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation.\r
This function registers the found memory configuration with the PEI Foundation.\r
\r
@param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation.\r
- @param MemoryBegin The value of a region of installed memory\r
+ @param MemoryBegin The value of a region of installed memory.\r
@param MemoryLength The corresponding length of a region of installed memory.\r
\r
@retval EFI_SUCCESS The region was successfully installed in a HOB.\r
@param PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation.\r
@param MemoryType The type of memory to allocate.\r
@param Pages The number of contiguous 4 KB pages to allocate.\r
- @param Memory Pointer to a physical address. On output, the address is set to the base \r
+ @param Memory A pointer to a physical address. On output, the address is set to the base \r
of the page range that was allocated.\r
\r
@retval EFI_SUCCESS The memory range was successfully allocated.\r
@retval EFI_OUT_OF_RESOURCES The pages could not be allocated.\r
- @retval EFI_INVALID_PARAMETER Type is not equal to AllocateAnyPages.\r
+ @retval EFI_INVALID_PARAMETER The type is not equal to EfiLoaderCode, EfiLoaderData, EfiRuntimeServicesCode, \r
+ EfiRuntimeServicesData, EfiBootServicesCode, EfiBootServicesData,\r
+ EfiACPIReclaimMemory, or EfiACPIMemoryNVS.\r
\r
**/\r
typedef\r
/**\r
This service copies the contents of one buffer to another buffer.\r
\r
- @param Destination Pointer to the destination buffer of the memory copy.\r
- @param Source Pointer to the source buffer of the memory copy\r
- @param Length Number of bytes to copy from Source to Destination.\r
+ @param Destination The pointer to the destination buffer of the memory copy.\r
+ @param Source The pointer to the source buffer of the memory copy.\r
+ @param Length The number of bytes to copy from Source to Destination.\r
\r
**/\r
typedef\r
/**\r
The service fills a buffer with a specified value.\r
\r
- @param Buffer Pointer to the buffer to fill.\r
- @param Size Number of bytes in Buffer to fill.\r
- @param Value Value to fill Buffer with\r
+ @param Buffer The pointer to the buffer to fill.\r
+ @param Size The number of bytes in Buffer to fill.\r
+ @param Value The value to fill Buffer with.\r
\r
**/\r
typedef\r
@param FileHandle Upon exit, points to the found file's\r
handle or NULL if it could not be found.\r
\r
- @retval EFI_SUCCESS File was found.\r
- @retval EFI_NOT_FOUND File was not found.\r
+ @retval EFI_SUCCESS The file was found.\r
+ @retval EFI_NOT_FOUND The file was not found.\r
@retval EFI_INVALID_PARAMETER VolumeHandle or FileHandle or\r
FileName was NULL.\r
\r
);\r
\r
///\r
-/// Information of FV file.\r
+/// The information of the FV file.\r
///\r
typedef struct {\r
///\r
\r
This function returns information about a specific file,\r
including its file name, type, attributes, starting address and\r
- size. If the firmware volume is not memory mapped then the\r
+ size. If the firmware volume is not memory mapped, then the\r
Buffer member will be NULL.\r
\r
- @param FileHandle Handle of the file.\r
+ @param FileHandle The handle of the file.\r
@param FileInfo Upon exit, points to the file's\r
information.\r
\r
- @retval EFI_SUCCESS File information returned.\r
- @retval EFI_INVALID_PARAMETER If FileHandle does not\r
+ @retval EFI_SUCCESS File information was returned.\r
+ @retval EFI_INVALID_PARAMETER FileHandle does not\r
represent a valid file.\r
- @retval EFI_INVALID_PARAMETER If FileInfo is NULL.\r
+ @retval EFI_INVALID_PARAMETER FileInfo is NULL.\r
\r
**/\r
typedef\r
);\r
\r
///\r
-/// Information of FV volume.\r
+/// The information of the FV volume.\r
///\r
typedef struct {\r
///\r
@param VolumeHandle Handle of the volume.\r
@param VolumeInfo Upon exit, points to the volume's information.\r
\r
- @retval EFI_SUCCESS Volume information returned.\r
+ @retval EFI_SUCCESS The 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_SUCCESS Information was successfully returned.\r
@retval EFI_INVALID_PARAMETER The volume designated by the VolumeHandle is not available.\r
\r
**/\r
// PEI Specification Revision information\r
//\r
#define PEI_SPECIFICATION_MAJOR_REVISION 1\r
-#define PEI_SPECIFICATION_MINOR_REVISION 20\r
+#define PEI_SPECIFICATION_MINOR_REVISION 10\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
+/// Specification inconsistency here: \r
+/// In the PI1.0 spec, PEI_SERVICES_SIGNATURE is defined as 0x5652455320494550. But \r
+/// to pass a multiple tool chain, it appends an 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
+/// Specification inconsistency here: \r
+/// In the PI1.0 specification, there is a typo error in PEI_SERVICES_REVISION. In the specification the defintion is \r
/// #define ((PEI_SPECIFICATION_MAJOR_REVISION<<16) |(PEI_SPECIFICATION_MINOR_REVISION))\r
-/// and it should be as follow:\r
+/// and it should be as follows:\r
///\r
#define PEI_SERVICES_REVISION ((PEI_SPECIFICATION_MAJOR_REVISION<<16) | (PEI_SPECIFICATION_MINOR_REVISION))\r
\r
/// - Allocating both early and permanent memory\r
/// - Supporting the Firmware File System (FFS)\r
/// - Abstracting the PPI database abstraction\r
-/// - Creating Hand-Off Blocks (HOBs)\r
+/// - Creating Hand-Off Blocks (HOBs).\r
///\r
struct _EFI_PEI_SERVICES {\r
///\r
\r
\r
///\r
-/// EFI_SEC_PEI_HAND_OFF structure hold information about\r
+/// EFI_SEC_PEI_HAND_OFF structure holds information about\r
/// PEI core's operating environment, such as the size of location of\r
/// temporary RAM, the stack location and BFV location.\r
/// \r
VOID *PeiTemporaryRamBase;\r
\r
///\r
- /// Size of the available temporary RAM available for \r
+ /// The size of the available temporary RAM available for \r
/// use by the PEI Foundation, in bytes.\r
/// \r
UINTN PeiTemporaryRamSize;\r
\r
\r
/**\r
- Entry point of PEI Foundation.\r
+ The entry point of PEI Foundation.\r
\r
This function is the entry point for the PEI Foundation, which\r
allows the SEC phase to pass information about the stack,\r