]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkNt32Pkg/Pei/FlashMap/FlashMap.msa
Support adding boot option from removable media, and removing invalid EFI boot option
[mirror_edk2.git] / EdkNt32Pkg / Pei / FlashMap / FlashMap.msa
index cee80fff868c95697b473a276f2712c2a3c6ae96..bedabe810b0c4599203b7a101926faf26db59a9c 100644 (file)
@@ -1,26 +1,18 @@
 <?xml version="1.0" encoding="UTF-8"?>\r
-<!--Copyright (c) 2006, Intel Corporation
-All rights reserved. This program and the accompanying materials
-are licensed and made available under the terms and conditions of the BSD License
-which accompanies this distribution.  The full text of the license may be found at
-http://opensource.org/licenses/bsd-license.php
-
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.-->\r
-<ModuleSurfaceArea  xmlns="http://www.TianoCore.org/2006/Edk2.0">\r
+<ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0">\r
   <MsaHeader>\r
     <ModuleName>PeiFlashMap</ModuleName>\r
     <ModuleType>PEIM</ModuleType>\r
     <GuidValue>681F3771-6F1D-42DE-9AA2-F82BBCDBC5F9</GuidValue>\r
     <Version>1.0</Version>\r
     <Abstract>Component description file for FlashMap PEI module</Abstract>\r
-    <Description>FIX ME!</Description>\r
-    <Copyright>Copyright (c) 2004-2006, Intel Corporation</Copyright>\r
-    <License>All rights reserved. This program and the accompanying materials
-      are licensed and made available under the terms and conditions of the BSD License
-      which accompanies this distribution.  The full text of the license may be found at
-      http://opensource.org/licenses/bsd-license.php
-      THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+    <Description>This module installs FlashMap PPI which is used to get flash layout information.</Description>\r
+    <Copyright>Copyright (c) 2006, Intel Corporation</Copyright>\r
+    <License>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
+      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.</License>\r
     <Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   0x00000052</Specification>\r
   </MsaHeader>\r
@@ -48,6 +40,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.-->
     <LibraryClass Usage="ALWAYS_CONSUMED">\r
       <Keyword>BaseMemoryLib</Keyword>\r
     </LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">\r
+      <Keyword>PcdLib</Keyword>\r
+    </LibraryClass>\r
   </LibraryClassDefinitions>\r
   <SourceFiles>\r
     <Filename>FlashMap.c</Filename>\r
@@ -55,38 +50,77 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.-->
   </SourceFiles>\r
   <PackageDependencies>\r
     <Package PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
-    <Package PackageGuid="B6EC423C-21D2-490D-85C6-DD5864EAA674"/>\r
+    <Package PackageGuid="68169ab0-d41b-4009-9060-292c253ac43d"/>\r
     <Package PackageGuid="0fb2aa2d-10d5-40a5-a9dc-060c12a4a3f3"/>\r
   </PackageDependencies>\r
   <Protocols>\r
     <Protocol Usage="ALWAYS_CONSUMED">\r
-      <ProtocolCName>FirmwareVolumeBlock</ProtocolCName>\r
+      <ProtocolCName>gEfiFirmwareVolumeBlockProtocolGuid</ProtocolCName>\r
     </Protocol>\r
   </Protocols>\r
   <PPIs>\r
     <Ppi Usage="ALWAYS_PRODUCED">\r
-      <PpiCName>FlashMap</PpiCName>\r
+      <PpiCName>gPeiFlashMapPpiGuid</PpiCName>\r
     </Ppi>\r
     <Ppi Usage="ALWAYS_CONSUMED">\r
-      <PpiCName>NtFwh</PpiCName>\r
+      <PpiCName>gNtFwhPpiGuid</PpiCName>\r
     </Ppi>\r
   </PPIs>\r
   <Guids>\r
     <GuidCNames Usage="ALWAYS_CONSUMED">\r
-      <GuidCName>FlashMapHob</GuidCName>\r
+      <GuidCName>gEfiFlashMapHobGuid</GuidCName>\r
     </GuidCNames>\r
     <GuidCNames Usage="ALWAYS_CONSUMED">\r
-      <GuidCName>FirmwareFileSystem</GuidCName>\r
+      <GuidCName>gEfiFirmwareFileSystemGuid</GuidCName>\r
     </GuidCNames>\r
     <GuidCNames Usage="ALWAYS_CONSUMED">\r
-      <GuidCName>SystemNvDataHob</GuidCName>\r
+      <GuidCName>gEfiSystemNvDataHobGuid</GuidCName>\r
     </GuidCNames>\r
   </Guids>\r
   <Externs>\r
-    <Specification>EFI_SPECIFICATION_VERSION 0x00000000</Specification>\r
-    <Specification>EDK_RELEASE_VERSION 0x00090000</Specification>\r
+    <Specification>EFI_SPECIFICATION_VERSION 0x00020000</Specification>\r
+    <Specification>EDK_RELEASE_VERSION 0x00020000</Specification>\r
     <Extern>\r
       <ModuleEntryPoint>PeimInitializeFlashMap</ModuleEntryPoint>\r
     </Extern>\r
   </Externs>\r
-</ModuleSurfaceArea>
\ No newline at end of file
+  <PcdCoded>\r
+    <PcdEntry PcdItemType="DYNAMIC">\r
+      <C_Name>PcdFlashNvStorageVariableBase</C_Name>\r
+      <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <HelpText>The driver sets the NV Storage FV base address defined by this PCD.  \r
+        This base address point to an EFI_FIRMWARE_VOLUMN_HEADER struct. Variable PEIM\r
+        will get the base address from this PCD. In NT emulator, this PCD is a DYNAMIC\r
+        type, as FD is mapped to process space by WinNT OS. On real platform, it is \r
+        normally a FIXED_AT_BUILD type as system memory map is fixed to BIOS.\r
+      </HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry PcdItemType="DYNAMIC">\r
+      <C_Name>PcdFlashNvStorageVariableSize</C_Name>\r
+      <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <HelpText>\r
+        To get the NvStorage Variable size from this PCD.\r
+      </HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry PcdItemType="DYNAMIC" Usage="ALWAYS_CONSUMED">\r
+      <C_Name>PcdFlashNvStorageFtwSpareBase</C_Name>\r
+      <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <HelpText>To get base address of the FTW spare block section in NV firmware volume.</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry PcdItemType="DYNAMIC" Usage="ALWAYS_CONSUMED">\r
+      <C_Name>PcdFlashNvStorageFtwSpareSize</C_Name>\r
+      <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <HelpText>To get size of the FTW spare block section in NV firmware volume.</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry PcdItemType="DYNAMIC" Usage="ALWAYS_CONSUMED">\r
+      <C_Name>PcdFlashNvStorageFtwWorkingBase</C_Name>\r
+      <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <HelpText>To get base address of the FTW working block section in NV firmware volume.</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry PcdItemType="DYNAMIC" Usage="ALWAYS_CONSUMED">\r
+      <C_Name>PcdFlashNvStorageFtwWorkingSize</C_Name>\r
+      <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <HelpText>To get size of the FTW working block section in NV firmware volume.</HelpText>\r
+    </PcdEntry>\r
+  </PcdCoded>\r
+</ModuleSurfaceArea>\r