Support adding boot option from removable media, and removing invalid EFI boot option
[mirror_edk2.git] / EdkNt32Pkg / Pei / FlashMap / FlashMap.msa
CommitLineData
202c5d55 1<?xml version="1.0" encoding="UTF-8"?>\r
53b86193 2<ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0">\r
878ddf1f 3 <MsaHeader>\r
2d527200 4 <ModuleName>PeiFlashMap</ModuleName>\r
878ddf1f 5 <ModuleType>PEIM</ModuleType>\r
2d527200 6 <GuidValue>681F3771-6F1D-42DE-9AA2-F82BBCDBC5F9</GuidValue>\r
7 <Version>1.0</Version>\r
878ddf1f 8 <Abstract>Component description file for FlashMap PEI module</Abstract>\r
31150ca0 9 <Description>This module installs FlashMap PPI which is used to get flash layout information.</Description>\r
15f3b1d4 10 <Copyright>Copyright (c) 2006, Intel Corporation</Copyright>\r
dd70a8c4 11 <License>All rights reserved. This program and the accompanying materials\r
12 are licensed and made available under the terms and conditions of the BSD License\r
13 which accompanies this distribution. The full text of the license may be found at\r
14 http://opensource.org/licenses/bsd-license.php\r
15 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
2d527200 16 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.</License>\r
17 <Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052</Specification>\r
878ddf1f 18 </MsaHeader>\r
2d527200 19 <ModuleDefinitions>\r
20 <SupportedArchitectures>IA32 X64 IPF EBC</SupportedArchitectures>\r
21 <BinaryModule>false</BinaryModule>\r
22 <OutputFileBasename>PeiFlashMap</OutputFileBasename>\r
23 </ModuleDefinitions>\r
878ddf1f 24 <LibraryClassDefinitions>\r
2d527200 25 <LibraryClass Usage="ALWAYS_CONSUMED">\r
26 <Keyword>DebugLib</Keyword>\r
27 </LibraryClass>\r
28 <LibraryClass Usage="ALWAYS_CONSUMED">\r
29 <Keyword>PeimEntryPoint</Keyword>\r
30 </LibraryClass>\r
31 <LibraryClass Usage="ALWAYS_CONSUMED">\r
32 <Keyword>HobLib</Keyword>\r
33 </LibraryClass>\r
34 <LibraryClass Usage="ALWAYS_CONSUMED">\r
35 <Keyword>PeiServicesLib</Keyword>\r
36 </LibraryClass>\r
37 <LibraryClass Usage="ALWAYS_CONSUMED">\r
38 <Keyword>PeiServicesTablePointerLib</Keyword>\r
39 </LibraryClass>\r
40 <LibraryClass Usage="ALWAYS_CONSUMED">\r
41 <Keyword>BaseMemoryLib</Keyword>\r
42 </LibraryClass>\r
dd70a8c4 43 <LibraryClass Usage="ALWAYS_CONSUMED">\r
44 <Keyword>PcdLib</Keyword>\r
45 </LibraryClass>\r
878ddf1f 46 </LibraryClassDefinitions>\r
47 <SourceFiles>\r
48 <Filename>FlashMap.c</Filename>\r
49 <Filename>FlashMap.dxs</Filename>\r
50 </SourceFiles>\r
2d527200 51 <PackageDependencies>\r
52 <Package PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
0992e559 53 <Package PackageGuid="68169ab0-d41b-4009-9060-292c253ac43d"/>\r
2d527200 54 <Package PackageGuid="0fb2aa2d-10d5-40a5-a9dc-060c12a4a3f3"/>\r
55 </PackageDependencies>\r
878ddf1f 56 <Protocols>\r
2d527200 57 <Protocol Usage="ALWAYS_CONSUMED">\r
53b86193 58 <ProtocolCName>gEfiFirmwareVolumeBlockProtocolGuid</ProtocolCName>\r
2d527200 59 </Protocol>\r
878ddf1f 60 </Protocols>\r
878ddf1f 61 <PPIs>\r
2d527200 62 <Ppi Usage="ALWAYS_PRODUCED">\r
53b86193 63 <PpiCName>gPeiFlashMapPpiGuid</PpiCName>\r
2d527200 64 </Ppi>\r
65 <Ppi Usage="ALWAYS_CONSUMED">\r
53b86193 66 <PpiCName>gNtFwhPpiGuid</PpiCName>\r
2d527200 67 </Ppi>\r
878ddf1f 68 </PPIs>\r
69 <Guids>\r
2d527200 70 <GuidCNames Usage="ALWAYS_CONSUMED">\r
53b86193 71 <GuidCName>gEfiFlashMapHobGuid</GuidCName>\r
2d527200 72 </GuidCNames>\r
73 <GuidCNames Usage="ALWAYS_CONSUMED">\r
53b86193 74 <GuidCName>gEfiFirmwareFileSystemGuid</GuidCName>\r
2d527200 75 </GuidCNames>\r
76 <GuidCNames Usage="ALWAYS_CONSUMED">\r
53b86193 77 <GuidCName>gEfiSystemNvDataHobGuid</GuidCName>\r
2d527200 78 </GuidCNames>\r
878ddf1f 79 </Guids>\r
80 <Externs>\r
15b06e58
LG
81 <Specification>EFI_SPECIFICATION_VERSION 0x00020000</Specification>\r
82 <Specification>EDK_RELEASE_VERSION 0x00020000</Specification>\r
878ddf1f 83 <Extern>\r
84 <ModuleEntryPoint>PeimInitializeFlashMap</ModuleEntryPoint>\r
85 </Extern>\r
86 </Externs>\r
dd70a8c4 87 <PcdCoded>\r
88 <PcdEntry PcdItemType="DYNAMIC">\r
89 <C_Name>PcdFlashNvStorageVariableBase</C_Name>\r
90 <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
91 <HelpText>The driver sets the NV Storage FV base address defined by this PCD. \r
92 This base address point to an EFI_FIRMWARE_VOLUMN_HEADER struct. Variable PEIM\r
93 will get the base address from this PCD. In NT emulator, this PCD is a DYNAMIC\r
94 type, as FD is mapped to process space by WinNT OS. On real platform, it is \r
95 normally a FIXED_AT_BUILD type as system memory map is fixed to BIOS.\r
96 </HelpText>\r
97 </PcdEntry>\r
42ef7fcd
LG
98 <PcdEntry PcdItemType="DYNAMIC">\r
99 <C_Name>PcdFlashNvStorageVariableSize</C_Name>\r
100 <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
101 <HelpText>\r
102 To get the NvStorage Variable size from this PCD.\r
103 </HelpText>\r
104 </PcdEntry>\r
105 <PcdEntry PcdItemType="DYNAMIC" Usage="ALWAYS_CONSUMED">\r
202c5d55 106 <C_Name>PcdFlashNvStorageFtwSpareBase</C_Name>\r
107 <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
108 <HelpText>To get base address of the FTW spare block section in NV firmware volume.</HelpText>\r
109 </PcdEntry>\r
42ef7fcd 110 <PcdEntry PcdItemType="DYNAMIC" Usage="ALWAYS_CONSUMED">\r
202c5d55 111 <C_Name>PcdFlashNvStorageFtwSpareSize</C_Name>\r
112 <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
113 <HelpText>To get size of the FTW spare block section in NV firmware volume.</HelpText>\r
114 </PcdEntry>\r
42ef7fcd 115 <PcdEntry PcdItemType="DYNAMIC" Usage="ALWAYS_CONSUMED">\r
202c5d55 116 <C_Name>PcdFlashNvStorageFtwWorkingBase</C_Name>\r
117 <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
118 <HelpText>To get base address of the FTW working block section in NV firmware volume.</HelpText>\r
119 </PcdEntry>\r
42ef7fcd 120 <PcdEntry PcdItemType="DYNAMIC" Usage="ALWAYS_CONSUMED">\r
202c5d55 121 <C_Name>PcdFlashNvStorageFtwWorkingSize</C_Name>\r
122 <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
123 <HelpText>To get size of the FTW working block section in NV firmware volume.</HelpText>\r
42ef7fcd 124 </PcdEntry>\r
dd70a8c4 125 </PcdCoded>\r
126</ModuleSurfaceArea>\r