]> git.proxmox.com Git - mirror_edk2.git/blame_incremental - IntelFrameworkPkg/Include/Ppi/FindFv.h
Add comments for the inconsistent definition with framework specification.
[mirror_edk2.git] / IntelFrameworkPkg / Include / Ppi / FindFv.h
... / ...
CommitLineData
1/** @file\r
2 This file declares FindFv PPI used to locate FVs that contain PEIMs in PEI\r
3\r
4 Copyright (c) 2007 - 2009, Intel Corporation\r
5 All rights reserved. This program and the accompanying materials\r
6 are licensed and made available under the terms and conditions of the BSD License\r
7 which accompanies this distribution. The full text of the license may be found at\r
8 http://opensource.org/licenses/bsd-license.php\r
9\r
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12\r
13 Module Name: FindFv.h\r
14\r
15 @par Revision Reference:\r
16 This PPI is defined in PEI CIS\r
17 Version 0.91\r
18\r
19**/\r
20\r
21#ifndef _FIND_FV_H_\r
22#define _FIND_FV_H_\r
23\r
24#include <PiPei.h>\r
25\r
26///\r
27/// Inconsistent with specification here: \r
28/// GUID value format has been changed to the standard guid format.\r
29///\r
30#define EFI_PEI_FIND_FV_PPI_GUID \\r
31 { \\r
32 0x36164812, 0xa023, 0x44e5, {0xbd, 0x85, 0x5, 0xbf, 0x3c, 0x77, 0x0, 0xaa } \\r
33 }\r
34\r
35typedef struct _EFI_PEI_FIND_FV_PPI EFI_PEI_FIND_FV_PPI;\r
36\r
37/**\r
38 This interface returns the base address of the firmware volume whose index\r
39 was passed in FvNumber.Once this function reports a firmware volume\r
40 index/base address pair, that index/address pairing must continue throughout PEI.\r
41\r
42 @param PeiServices Pointer to the PEI Services Table.\r
43 @param This Interface pointer that implements the Find FV service.\r
44 @param FvNumber The index of the firmware volume to locate.\r
45 @param FvAddress The address of the volume to discover.\r
46\r
47 @retval EFI_SUCCESS An additional firmware volume was found.\r
48 @retval EFI_OUT_OF_RESOURCES There are no firmware volumes for the given FvNumber.\r
49 @retval EFI_INVALID_PARAMETER *FvAddress is NULL.\r
50\r
51**/\r
52typedef\r
53EFI_STATUS\r
54(EFIAPI *EFI_PEI_FIND_FV_FINDFV)(\r
55 IN EFI_PEI_FIND_FV_PPI *This,\r
56 IN EFI_PEI_SERVICES **PeiServices,\r
57 IN UINT8 *FvNumber,\r
58 IN OUT EFI_FIRMWARE_VOLUME_HEADER **FVAddress\r
59 );\r
60\r
61/**\r
62 Hardware mechanisms for locating FVs in a platform vary widely.\r
63 EFI_PEI_FIND_FV_PPI serves to abstract this variation so that the\r
64 PEI Foundation can remain standard across a wide variety of platforms.\r
65**/\r
66struct _EFI_PEI_FIND_FV_PPI {\r
67 EFI_PEI_FIND_FV_FINDFV FindFv; ///< Service that abstracts the location of additional firmware volumes.\r
68};\r
69\r
70extern EFI_GUID gEfiFindFvPpiGuid;\r
71\r
72#endif\r