/** @file\r
- Header file for PEI Services Library.\r
+ Provides library functions for all PEI Services.\r
\r
- Copyright (c) 2006 - 2007, 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 - 2008, 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
\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
**/\r
\r
#define __PEI_SERVICES_LIB_H__\r
\r
/**\r
- This service enables a given PEIM to register an interface into the PEI Foundation. \r
+ This service enables a given PEIM to register an interface into the PEI Foundation.\r
\r
@param PpiList A pointer to the list of interfaces that the caller shall install.\r
\r
);\r
\r
/**\r
- This service enables PEIMs to ascertain the present value of the boot mode. \r
+ This service enables PEIMs to ascertain the present value of the boot mode.\r
\r
@param BootMode A pointer to contain the value of the boot mode.\r
\r
);\r
\r
/**\r
- This service enables PEIMs to update the boot mode variable. \r
+ This service enables PEIMs to update the boot mode variable.\r
\r
@param BootMode The value of the boot mode to set.\r
\r
\r
@param Instance This instance of the firmware volume to find. The value 0 is the\r
Boot Firmware Volume (BFV).\r
- @param VolumeHandle Pointer to the firmware volume header of the volume to return.\r
+ @param VolumeHandle Handle of the firmware volume header of the volume to return.\r
\r
@retval EFI_SUCCESS The volume was found.\r
@retval EFI_NOT_FOUND The volume was not found.\r
@param SearchType A filter to find files only of this type.\r
@param VolumeHandle Pointer to the firmware volume header of the volume to search.\r
This parameter must point to a valid FFS volume.\r
- @param FileHandle Pointer to the current file from which to begin searching.\r
+ @param FileHandle Handle of the current file from which to begin searching.\r
\r
@retval EFI_SUCCESS The file was found.\r
@retval EFI_NOT_FOUND The file was not found.\r
**/\r
EFI_STATUS\r
EFIAPI\r
-PeiServicesFfsFindByName (\r
+PeiServicesFfsFindFileByName (\r
IN CONST EFI_GUID *FileName,\r
IN CONST EFI_PEI_FV_HANDLE VolumeHandle,\r
OUT EFI_PEI_FILE_HANDLE *FileHandle\r
IN EFI_PEI_FILE_HANDLE FileHandle\r
);\r
\r
+/**\r
+ Install a EFI_PEI_FIRMWARE_VOLUME_INFO_PPI instance so the PEI Core will be notified about a new firmware volume.\r
+ \r
+ This function allocates, initializes, and installs a new EFI_PEI_FIRMWARE_VOLUME_INFO_PPI using \r
+ the parameters passed in to initialize the fields of the EFI_PEI_FIRMWARE_VOLUME_INFO_PPI instance.\r
+ If the resources can not be allocated for EFI_PEI_FIRMWARE_VOLUME_INFO_PPI, then ASSERT().\r
+ If the EFI_PEI_FIRMWARE_VOLUME_INFO_PPI can not be installed, then ASSERT().\r
+\r
+ \r
+ @param FvFormat Unique identifier of the format of the memory-mapped firmware volume.\r
+ This parameter is optional and may be NULL. \r
+ If NULL is specified, the EFI_FIRMWARE_FILE_SYSTEM2_GUID format is assumed.\r
+ @param FvInfo Points to a buffer which allows the EFI_PEI_FIRMWARE_VOLUME_PPI to process the volume. \r
+ The format of this buffer is specific to the FvFormat. For memory-mapped firmware volumes, \r
+ this typically points to the first byte of the firmware volume.\r
+ @param FvInfoSize The size, in bytes, of FvInfo. For memory-mapped firmware volumes, \r
+ this is typically the size of the firmware volume.\r
+ @param ParentFvName If the new firmware volume originated from a file in a different firmware volume, \r
+ then this parameter specifies the GUID name of the originating firmware volume.\r
+ Otherwise, this parameter must be NULL.\r
+ @param ParentFileName If the new firmware volume originated from a file in a different firmware volume, \r
+ then this parameter specifies the GUID file name of the originating firmware file.\r
+ Otherwise, this parameter must be NULL.\r
+**/\r
+VOID\r
+EFIAPI\r
+PeiServicesInstallFvInfoPpi (\r
+ IN CONST EFI_GUID *FvFormat, OPTIONAL\r
+ IN CONST VOID *FvInfo,\r
+ IN UINT32 FvInfoSize,\r
+ IN CONST EFI_GUID *ParentFvName, OPTIONAL\r
+ IN CONST EFI_GUID *ParentFileName OPTIONAL\r
+ );\r
\r
#endif\r