]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkModulePkg/EdkModulePkg.spd
Perfected MSA files.
[mirror_edk2.git] / EdkModulePkg / EdkModulePkg.spd
index 86d33e69cd149f7d551a7aef5ab27835908b4194..fe9b69630405f8c8ea790fbc059c4cbc5e388fc0 100644 (file)
@@ -2,21 +2,21 @@
 <PackageSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">\r
   <SpdHeader>\r
     <PackageName>EdkModulePkg</PackageName>\r
-    <GuidValue>B6EC423C-21D2-490D-85C6-DD5864EAA674</GuidValue>\r
+    <GuidValue>68169ab0-d41b-4009-9060-292c253ac43d</GuidValue>\r
     <Version>0.3</Version>\r
     <Abstract>Edk Module Package Reference Implementations</Abstract>\r
     <Description>This Module provides standard reference information for EFI/Tiano implementations.</Description>\r
-    <Copyright>Copyright (c) 2006, Intel Corporation.</Copyright>\r
-    <License>All rights reserved.\r
-      This program and the accompanying materials are licensed and made available \r
-      under the terms and conditions of the BSD License which accompanies this distribution.\r
-      The full text of the license may be found at http://opensource.org/licenses/bsd-license.php\r
-      THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES\r
+    <Copyright>Copyright (c) 2006 - 2007, 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, WITHOUT WARRANTIES
       OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.</License>\r
     <Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   0x00000052</Specification>\r
   </SpdHeader>\r
   <PackageDefinitions>\r
-    <ReadOnly>true</ReadOnly>\r
+    <ReadOnly>false</ReadOnly>\r
     <RePackage>false</RePackage>\r
   </PackageDefinitions>\r
   <LibraryClassDeclarations>\r
       <IncludeHeader>Include/Library/EdkPeCoffLoaderLib.h</IncludeHeader>\r
       <HelpText/>\r
     </LibraryClass>\r
-    <LibraryClass Name="EdkPeCoffLoaderX64Lib">\r
-      <IncludeHeader>Include/Library/EdkPeCoffLoaderX64Lib.h</IncludeHeader>\r
-      <HelpText/>\r
-    </LibraryClass>\r
     <LibraryClass Name="EdkScsiLib">\r
       <IncludeHeader>Include/Library/EdkScsiLib.h</IncludeHeader>\r
       <HelpText/>\r
       <IncludeHeader>Include/Library/OemHookStatusCodeLib.h</IncludeHeader>\r
       <HelpText/>\r
     </LibraryClass>\r
+    <LibraryClass Name="EdkGenericBdsLib">\r
+      <IncludeHeader>Include/Library/EdkGenericBdsLib.h</IncludeHeader>\r
+      <HelpText>Library to implement a Bbs</HelpText>\r
+    </LibraryClass>\r
+    <LibraryClass Name="EdkGenericPlatformBdsLib">\r
+      <IncludeHeader>Include/Library/EdkGenericPlatformBdsLib.h</IncludeHeader>\r
+      <HelpText>Generic Platform Bds library</HelpText>\r
+    </LibraryClass>\r
   </LibraryClassDeclarations>\r
   <IndustryStdIncludes>\r
     <IndustryStdHeader Name="CapsuleName">\r
       <IncludeHeader>Include/Library/EdkPeCoffLoaderLib.h</IncludeHeader>\r
       <HelpText/>\r
     </IndustryStdHeader>\r
-    <IndustryStdHeader Name="EdkPeCoffLoaderX64Lib">\r
-      <IncludeHeader>Include/Library/EdkPeCoffLoaderX64Lib.h</IncludeHeader>\r
-      <HelpText/>\r
-    </IndustryStdHeader>\r
     <IndustryStdHeader Name="EdkScsiLib">\r
       <IncludeHeader>Include/Library/EdkScsiLib.h</IncludeHeader>\r
       <HelpText/>\r
     <Filename>Bus/Usb/UsbMouse/Dxe/UsbMouse.msa</Filename>\r
     <Filename>Core/Dxe/DxeMain.msa</Filename>\r
     <Filename>Core/DxeIplPeim/DxeIpl.msa</Filename>\r
-    <Filename>Core/DxeIplX64Peim/DxeIplX64.msa</Filename>\r
     <Filename>Core/Pei/PeiMain.msa</Filename>\r
     <Filename>Library/BaseCustomDecompressLibNull/BaseCustomDecompressLibNull.msa</Filename>\r
     <Filename>Library/BaseUefiTianoDecompressLib/BaseUefiTianoDecompressLib.msa</Filename>\r
     <Filename>Library/DxeCorePerformanceLib/DxeCorePerformanceLib.msa</Filename>\r
     <Filename>Library/DxeCoreTianoDecompressLibFromHob/DxeCoreTianoDecompressLibFromHob.msa</Filename>\r
     <Filename>Library/DxeCoreUefiDecompressLibFromHob/DxeCoreUefiDecompressLibFromHob.msa</Filename>\r
-    <Filename>Library/EdkDxeDebugLibReportStatusCode/EdkDxeDebugLibReportStatusCode.msa</Filename>\r
+    <Filename>Library/DxeDebugLibSerialPort/DxeDebugLibSerialPort.msa</Filename>\r
     <Filename>Library/EdkDxePeCoffLoaderFromHobLib/EdkDxePeCoffLoaderFromHobLib.msa</Filename>\r
     <Filename>Library/DxePerformanceLib/DxePerformanceLib.msa</Filename>\r
     <Filename>Library/EdkDxePrintLib/EdkDxePrintLib.msa</Filename>\r
     <Filename>Library/EdkUefiRuntimeLib/EdkUefiRuntimeLib.msa</Filename>\r
     <Filename>Library/EdkDxeSalLib/EdkDxeSalLib.msa</Filename>\r
+    <Filename>Library/EdkDxeRuntimeSalLib/EdkDxeRuntimeSalLib.msa</Filename>\r
     <Filename>Library/EdkFvbServiceLib/EdkFvbServiceLib.msa</Filename>\r
     <Filename>Library/EdkGraphicsLib/EdkGraphicsLib.msa</Filename>\r
     <Filename>Library/EdkIfrSupportLib/EdkIfrSupportLib.msa</Filename>\r
-    <Filename>Library/EdkNullCustomizedDecompressLib/EdkNullCustomizedDecompressLib.msa</Filename>\r
     <Filename>Library/EdkPeCoffLoaderLib/EdkPeCoffLoaderLib.msa</Filename>\r
-    <Filename>Library/EdkPeCoffLoaderX64Lib/EdkPeCoffLoaderX64Lib.msa</Filename>\r
     <Filename>Library/PeiPerformanceLib/PeiPerformanceLib.msa</Filename>\r
     <Filename>Library/EdkScsiLib/EdkScsiLib.msa</Filename>\r
-    <Filename>Library/EdkUefiDebugLibConOut/EdkUefiDebugLibConOut.msa</Filename>\r
-    <Filename>Library/EdkUefiDebugLibStdErr/EdkUefiDebugLibStdErr.msa</Filename>\r
     <Filename>Library/EdkUsbLib/EdkUsbLib.msa</Filename>\r
     <Filename>Library/EdkSerialPortLibNull/EdkSerialPortLibNull.msa</Filename>\r
     <Filename>Library/EdkOemHookStatusCodeLibNull/EdkOemHookStatusCodeLibNull.msa</Filename>\r
+    <Filename>Library/EdkGenericBdsLib/EdkGenericBdsLib.msa</Filename>\r
+    <Filename>Library/EdkGenericPlatformBdsLib/EdkGenericPlatformBdsLib.msa</Filename>\r
     <Filename>Universal/Console/ConSplitter/Dxe/ConSplitter.msa</Filename>\r
     <Filename>Universal/Console/GraphicsConsole/Dxe/GraphicsConsole.msa</Filename>\r
     <Filename>Universal/Console/Terminal/Dxe/Terminal.msa</Filename>\r
     <Filename>Universal/UserInterface/SetupBrowser/Dxe/SetupBrowser.msa</Filename>\r
     <Filename>Universal/Variable/Pei/Variable.msa</Filename>\r
     <Filename>Universal/EmuVariable/RuntimeDxe/EmuVariable.msa</Filename>\r
+    <Filename>Universal/EmuVariable/RuntimeDxe/EmuVariableIpf.msa</Filename>\r
     <Filename>Universal/Variable/RuntimeDxe/Variable.msa</Filename>\r
+    <Filename>Universal/Variable/RuntimeDxe/VariableIpf.msa</Filename>\r
     <Filename>Universal/Capsule/RuntimeDxe/CapsuleRuntime.msa</Filename>\r
     <Filename>Universal/WatchdogTimer/Dxe/WatchDogTimer.msa</Filename>\r
     <Filename>Universal/StatusCode/Pei/PeiStatusCode.msa</Filename>\r
     <Filename>Universal/StatusCode/Dxe/DxeStatusCode.msa</Filename>\r
+    <Filename>Universal/ConPlatform/Dxe/ConPlatform.msa</Filename>\r
+    <Filename>Logo/Logo.msa</Filename>\r
   </MsaFiles>\r
   <PackageHeaders>\r
     <IncludePkgHeader ModuleType="SEC">Include/EdkPeim.h</IncludePkgHeader>\r
     <IncludePkgHeader ModuleType="DXE_SMM_DRIVER">Include/EdkDxe.h</IncludePkgHeader>\r
     <IncludePkgHeader ModuleType="DXE_SAL_DRIVER">Include/EdkDxe.h</IncludePkgHeader>\r
     <IncludePkgHeader ModuleType="UEFI_DRIVER">Include/EdkDxe.h</IncludePkgHeader>\r
-    <IncludePkgHeader ModuleType="USER_DEFINED">Include/EdkPeim.h</IncludePkgHeader>\r
   </PackageHeaders>\r
   <GuidDeclarations>\r
     <Entry Name="GenericPlatformTokenSpace">\r
       <C_Name>gEfiGenericPlatformTokenSpaceGuid</C_Name>\r
       <GuidValue>18D15EA6-9E14-40a1-B39C-59C44DA9D891</GuidValue>\r
-      <HelpText>\r
-        This is the token space GUID for platform generic PCD definitions.\r
-        Now FlashLayout and Platform CPU belong to this space.\r
-      </HelpText>      \r
-    </Entry> \r
+      <HelpText>This is the token space GUID for platform generic PCD definitions.
+        Now FlashLayout and Platform CPU belong to this space.</HelpText>\r
+    </Entry>\r
     <Entry Name="EdkModulePkgTokenSpace">\r
       <C_Name>gEfiEdkModulePkgTokenSpaceGuid</C_Name>\r
       <GuidValue>8CC4092F-F60E-46d1-B41C-1E761DF50582</GuidValue>\r
       <GuidValue>060CC026-4C0D-4DDA-8F41-595FEF00A502</GuidValue>\r
       <HelpText/>\r
     </Entry>\r
+    <Entry Name="EfiPeiCorePrivateGuid">\r
+      <C_Name>gEfiPeiCorePrivateGuid</C_Name>\r
+      <GuidValue>d641a0f5-cb7c-4846-a380-1d01b4d9e3b9</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+    <Entry Name="GenericPlatformVariable" GuidTypeList="EFI_VARIABLE">\r
+      <C_Name>gEfiGenericPlatformVariableGuid</C_Name>\r
+      <GuidValue>59d1c24f-50f1-401a-b101-f33e0daed443</GuidValue>\r
+      <HelpText>The variable space Guid to pair with a Unicode string name to tag an EFI variable</HelpText>\r
+    </Entry>\r
   </GuidDeclarations>\r
   <ProtocolDeclarations>\r
     <Entry Name="Capsule">\r
       <GuidValue>00DBD91D-55E9-420F-9639-5E9F8437B44F</GuidValue>\r
       <HelpText/>\r
     </Entry>\r
+    <Entry Name="ExtendedSalBaseIoServices">\r
+      <C_Name>gEfiExtendedSalBaseIoServicesProtocolGuid</C_Name>\r
+      <GuidValue>5AEA42b5-31E1-4515-BC31-B8D5257565A6</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+    <Entry Name="ExtendedSalStallServices">\r
+      <C_Name>gEfiExtendedSalStallServicesProtocolGuid</C_Name>\r
+      <GuidValue>53A58D06-AC27-4D8C-B5E9-F08A80654107</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+    <Entry Name="ExtendedSalLockServices">\r
+      <C_Name>gEfiExtendedSalLockServicesProtocolGuid</C_Name>\r
+      <GuidValue>76b75C23-FE4F-4E17-A2AD-1A653DBB494A</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+    <Entry Name="ExtendedSalVirtualServices">\r
+      <C_Name>gEfiExtendedSalVirtualServicesProtocolGuid</C_Name>\r
+      <GuidValue>C1A74056-260E-4871-A031-E645A65B6E11</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+    <Entry Name="ExtendedSalRtcServices">\r
+      <C_Name>gEfiExtendedSalRtcServicesProtocolGuid</C_Name>\r
+      <GuidValue>7E97A470-EFDB-4D02-8FCE-6190D27BA296</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+    <Entry Name="ExtendedSalMtcServices">\r
+      <C_Name>gEfiExtendedSalMtcServicesProtocolGuid</C_Name>\r
+      <GuidValue>899AFD18-75E8-408B-A41A-6E2E7ECDF454</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+    <Entry Name="ExtendedSalResetServices">\r
+      <C_Name>gEfiExtendedSalResetServicesProtocolGuid</C_Name>\r
+      <GuidValue>7D019990-8CE1-46F5-A776-3C5198676AA0</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+    <Entry Name="ExtendedSalFvBlockServices">\r
+      <C_Name>gEfiExtendedSalFvBlockServicesProtocolGuid</C_Name>\r
+      <GuidValue>a2271df1-bcbb-4f1d-98a9-06bc172f071a</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+    <Entry Name="ExtendedSalMpServices">\r
+      <C_Name>gEfiExtendedSalMpServicesProtocolGuid</C_Name>\r
+      <GuidValue>697d81a2-cf18-4dc0-9e0d-06113b618a3f</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+    <Entry Name="ExtendedSalPalServices">\r
+      <C_Name>gEfiExtendedSalPalServicesProtocolGuid</C_Name>\r
+      <GuidValue>e1cd9d21-0fc2-438d-9703-04e66d961e57</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+    <Entry Name="ExtendedSalBaseServices">\r
+      <C_Name>gEfiExtendedSalBaseServicesProtocolGuid</C_Name>\r
+      <GuidValue>d9e9fa06-0fe0-41c3-96fb-83425a3394f8</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+    <Entry Name="ExtendedSalMcaServices">\r
+      <C_Name>gEfiExtendedSalMcaServicesProtocolGuid</C_Name>\r
+      <GuidValue>2a591128-6cc7-42b1-8af0-58933b682dbb</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+    <Entry Name="ExtendedSalPciServices">\r
+      <C_Name>gEfiExtendedSalPciServicesProtocolGuid</C_Name>\r
+      <GuidValue>a46b1a31-ad66-4905-92f6-2b4659dc3063</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+    <Entry Name="ExtendedSalCacheServices">\r
+      <C_Name>gEfiExtendedSalCacheServicesProtocolGuid</C_Name>\r
+      <GuidValue>0edc9494-2743-4ba5-8818-0aef5213f188</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+    <Entry Name="ExtendedSalMcaLogServices">\r
+      <C_Name>gEfiExtendedSalMcaLogServicesProtocolGuid</C_Name>\r
+      <GuidValue>cb3fd86e-38a3-4c03-9a5c-90cfa3a2ab7a</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+    <Entry Name="ExtendedSalELogServices">\r
+      <C_Name>gEfiExtendedSalELogServicesProtocolGuid</C_Name>\r
+      <GuidValue>d5e4ee5f-3e0a-453c-a725-b692bb06365a</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+    <Entry Name="ExtendedSalSensorServices">\r
+      <C_Name>gEfiExtendedSalSensorServicesProtocolGuid</C_Name>\r
+      <GuidValue>4a153b6e-85a1-4982-98f4-6a8cfca4aba1</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+    <Entry Name="ExtendedSalSmComLayerServices">\r
+      <C_Name>gEfiExtendedSalSmComLayerServicesProtocolGuid</C_Name>\r
+      <GuidValue>04356799-81b7-4e08-a38d-d978fa47ba42</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
+    <Entry Name="ExtendedSalSstGuid">\r
+      <C_Name>gEfiExtendedSalSstGuid</C_Name>\r
+      <GuidValue>38802700-868a-4b4e-81d4-4f1bdccfb46f</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
     <Entry Name="IsaIo">\r
       <C_Name>gEfiIsaIoProtocolGuid</C_Name>\r
       <GuidValue>7EE2BD44-3DA0-11D4-9A38-0090273FC14D</GuidValue>\r
       <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
       <DatumType>UINT32</DatumType>\r
       <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
-      <HelpText>The maximum number of callback function, which will be triggered when \r
+      <DefaultValue>0x08</DefaultValue>\r
+      <HelpText>The maximum number of callback function, which will be triggered when 
         a PCD entry is been set, can be registered for a single PCD entry in PEI phase.</HelpText>\r
     </PcdEntry>\r
     <PcdEntry>\r
       <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
       <DatumType>UINT32</DatumType>\r
       <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
-      <HelpText>The base address of the VPD (Vital Product Data) region. It is \r
+      <DefaultValue>0x0</DefaultValue>\r
+      <HelpText>The base address of the VPD (Vital Product Data) region. It is 
         normally a region reserved on flash.</HelpText>\r
     </PcdEntry>\r
     <PcdEntry>\r
       <C_Name>PcdSupportUpdateCapsuleRest</C_Name>\r
-      <Token>0x00010020</Token>\r
+      <Token>0x0001001d</Token>\r
       <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
       <DatumType>BOOLEAN</DatumType>\r
       <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+      <DefaultValue>FALSE</DefaultValue>\r
       <HelpText>Indicate whether platform can support update capsule across a system reset</HelpText>\r
     </PcdEntry>\r
     <PcdEntry>\r
       <C_Name>PcdMaxSizePopulateCapsule</C_Name>\r
-      <Token>0x00010021</Token>\r
+      <Token>0x0001001e</Token>\r
       <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
       <DatumType>UINT32</DatumType>\r
       <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
+      <DefaultValue>0x0</DefaultValue>\r
       <HelpText>Indicate the max size the platform can support in case of populated capsules</HelpText>\r
     </PcdEntry>\r
     <PcdEntry>\r
       <C_Name>PcdMaxSizeNonPopulateCapsule</C_Name>\r
-      <Token>0x00010022</Token>\r
+      <Token>0x0001001f</Token>\r
       <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
       <DatumType>UINT32</DatumType>\r
       <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
+      <DefaultValue>0x0</DefaultValue>\r
       <HelpText>Indicate the max size the platform can support in case of non-populated capsules</HelpText>\r
     </PcdEntry>\r
     <PcdEntry>\r
       <DatumType>BOOLEAN</DatumType>\r
       <ValidUsage>FEATURE_FLAG</ValidUsage>\r
       <DefaultValue>TRUE</DefaultValue>\r
-      <HelpText>This feature flag can be used to enable or disable the Pcd PEIM database \r
+      <HelpText>This feature flag can be used to enable or disable the Pcd PEIM database 
         traverse capability. Disable it can reduce the size of final image generated.</HelpText>\r
     </PcdEntry>\r
     <PcdEntry>\r
       <DatumType>BOOLEAN</DatumType>\r
       <ValidUsage>FEATURE_FLAG</ValidUsage>\r
       <DefaultValue>TRUE</DefaultValue>\r
-      <HelpText>This feature flag can be used to enable or disable the Pcd DXE database \r
+      <HelpText>This feature flag can be used to enable or disable the Pcd DXE database 
         traverse capability. Disable it can reduce the size of final image generated.</HelpText>\r
     </PcdEntry>\r
     <PcdEntry>\r
       <Token>0x00010025</Token>\r
       <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
       <DatumType>UINT16</DatumType>\r
-      <ValidUsage>DYNAMIC</ValidUsage>\r
-      <DefaultValue>4</DefaultValue>\r
+      <ValidUsage>FIXED_AT_BUILD PATCHABLE_IN_MODULE DYNAMIC</ValidUsage>\r
+      <DefaultValue>1</DefaultValue>\r
       <HelpText>kbytes size of GUID'ed HOB, if the GUID'ed HOB is full, create new GUID'ed HOB with this size.</HelpText>\r
     </PcdEntry>\r
     <PcdEntry>\r
       <Token>0x0001002e</Token>\r
       <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
       <DatumType>UINT16</DatumType>\r
-      <ValidUsage>DYNAMIC</ValidUsage>\r
+      <ValidUsage>FIXED_AT_BUILD PATCHABLE_IN_MODULE DYNAMIC</ValidUsage>\r
       <DefaultValue>4</DefaultValue>\r
       <HelpText>kbytes size of runtime memory.</HelpText>\r
     </PcdEntry>\r
       <HelpText>Maximun number of performance log entries during PEI phase.</HelpText>\r
     </PcdEntry>\r
     <PcdEntry>\r
-      <C_Name>PcdFlashFvBaseArray</C_Name>\r
-      <Token>0x31000001</Token>\r
+      <C_Name>PcdPeiPcdDatabaseSetEnabled</C_Name>\r
+      <Token>0x00010030</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>BOOLEAN</DatumType>\r
+      <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+      <DefaultValue>TRUE</DefaultValue>\r
+      <HelpText>This feature flag can be used to enable or disable the SET capability of PCD service PEIM. If a platform does not do PCD SET operation in PEI phase. This flag can be set to DISABLE to save size.</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdPeiPcdDatabaseGetSizeEnabled</C_Name>\r
+      <Token>0x00010031</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>BOOLEAN</DatumType>\r
+      <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+      <DefaultValue>TRUE</DefaultValue>\r
+      <HelpText>This feature flag can be used to enable or disable the GET size capability of PCD service PEIM. If a platform does not do PCD get size operation in PEI phase. This flag can be set to DISABLE to save size.</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdPeiPcdDatabaseCallbackOnSetEnabled</C_Name>\r
+      <Token>0x00010032</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>BOOLEAN</DatumType>\r
+      <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+      <DefaultValue>TRUE</DefaultValue>\r
+      <HelpText>This feature flag can be used to enable or disable the Callback On SET capability of PCD service PEIM. If a platform does not register any callback on set  in PEI phase. This flag can be set to DISABLE to save size.</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdPeiPcdDatabaseExEnabled</C_Name>\r
+      <Token>0x00010033</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>BOOLEAN</DatumType>\r
+      <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+      <DefaultValue>TRUE</DefaultValue>\r
+      <HelpText>This feature flag can be used to enable or disable the PCD service PEIM to handle DynamicEX PCD. If a platform has no module to use DynamicEX  in PEI phase. This flag can be set to DISABLE to save size.</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdFlashNvStorageVariableBase</C_Name>\r
+      <Token>0x30000001</Token>\r
       <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
-      <DatumType>VOID*</DatumType>\r
-      <ValidUsage>DYNAMIC</ValidUsage>\r
-      <DefaultValue>{}</DefaultValue>\r
-      <HelpText>\r
-      This PCD is a array of EFI_PHYSICAL_ADDERSS of each Firmware Volume on the\r
-      platform. FVB driver will make use of this PCD entry to install EFI_FIRMWARE_BLOCK_PROTOCOL\r
-      on every FV specified.\r
-      </HelpText>\r
+      <DatumType>UINT32</DatumType>\r
+      <ValidUsage>FIXED_AT_BUILD PATCHABLE_IN_MODULE DYNAMIC</ValidUsage>\r
+      <DefaultValue>0x0</DefaultValue>\r
+      <HelpText>Base address of the variable section in NV firmware volume.</HelpText>\r
     </PcdEntry>\r
     <PcdEntry>\r
-      <C_Name>PcdFlashFvBaseArrayElementNumber</C_Name>\r
-      <Token>0x32000002</Token>\r
+      <C_Name>PcdFlashNvStorageVariableSize</C_Name>\r
+      <Token>0x30000002</Token>\r
       <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
-      <DatumType>UINT8</DatumType>\r
-      <ValidUsage>DYNAMIC</ValidUsage>\r
-      <DefaultValue>3</DefaultValue>\r
-      <HelpText>\r
-      This PCD is a number element in the array defined by PcdFlashFvBaseArray in\r
-      gEfiGenericPlatformTokenSpaceGuid. Normally, we have 3 firmware volumes:\r
-      FV_MAIN, FV_RECOVERY, NV_STORAGE.\r
-      </HelpText>\r
+      <DatumType>UINT32</DatumType>\r
+      <ValidUsage>FIXED_AT_BUILD PATCHABLE_IN_MODULE DYNAMIC</ValidUsage>\r
+      <DefaultValue>0x0</DefaultValue>\r
+      <HelpText>Size of the variable section in NV firmware volume..</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdFlashNvStorageFtwSpareBase</C_Name>\r
+      <Token>0x30000013</Token>\r
+      <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>UINT32</DatumType>\r
+      <ValidUsage>FIXED_AT_BUILD PATCHABLE_IN_MODULE DYNAMIC</ValidUsage>\r
+      <DefaultValue>0x0</DefaultValue>\r
+      <HelpText>Base address of the FTW spare block section in NV firmware volume.</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdFlashNvStorageFtwSpareSize</C_Name>\r
+      <Token>0x30000014</Token>\r
+      <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>UINT32</DatumType>\r
+      <ValidUsage>FIXED_AT_BUILD PATCHABLE_IN_MODULE DYNAMIC</ValidUsage>\r
+      <DefaultValue>0x0</DefaultValue>\r
+      <HelpText>Size of the FTW spare block section in NV firmware volume.</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdFlashNvStorageFtwWorkingBase</C_Name>\r
+      <Token>0x30000010</Token>\r
+      <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>UINT32</DatumType>\r
+      <ValidUsage>FIXED_AT_BUILD PATCHABLE_IN_MODULE DYNAMIC</ValidUsage>\r
+      <DefaultValue>0x0</DefaultValue>\r
+      <HelpText>Base address of the FTW working block section in NV firmware volume.</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdFlashNvStorageFtwWorkingSize</C_Name>\r
+      <Token>0x30000011</Token>\r
+      <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>UINT32</DatumType>\r
+      <ValidUsage>FIXED_AT_BUILD PATCHABLE_IN_MODULE DYNAMIC</ValidUsage>\r
+      <DefaultValue>0x0</DefaultValue>\r
+      <HelpText>Size of the FTW working block section in NV firmware volume.</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdDxeIplSupportEfiDecompress</C_Name>\r
+      <Token>0x00010034</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>BOOLEAN</DatumType>\r
+      <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+      <DefaultValue>TRUE</DefaultValue>\r
+      <HelpText>If this feature is enabled, then the DXE IPL must support decompressing files compressed with the EFI Compression algorithm</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdDxeIplSupportTianoDecompress</C_Name>\r
+      <Token>0x00010035</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>BOOLEAN</DatumType>\r
+      <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+      <DefaultValue>TRUE</DefaultValue>\r
+      <HelpText>If this feature is enabled, then the DXE IPL must support decompressing files compressed with the Tiano Compression algorithm</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdDxeIplSupportCustomDecompress</C_Name>\r
+      <Token>0x00010036</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>BOOLEAN</DatumType>\r
+      <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+      <DefaultValue>TRUE</DefaultValue>\r
+      <HelpText>If this feature is enabled, then the DXE IPL must support decompressing files compressed with the Custom Compression algorithm</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdDevicePathSupportDevicePathToText</C_Name>\r
+      <Token>0x00010037</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>BOOLEAN</DatumType>\r
+      <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+      <DefaultValue>FALSE</DefaultValue>\r
+      <HelpText>If TRUE, then the Device Path To Text Protocol should be produced by the platform</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdDevicePathSupportDevicePathFromText</C_Name>\r
+      <Token>0x00010038</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>BOOLEAN</DatumType>\r
+      <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+      <DefaultValue>FALSE</DefaultValue>\r
+      <HelpText>If TRUE, then the Device Path From Text Protocol should be produced by the platform</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdPciIsaEnable</C_Name>\r
+      <Token>0x00010039</Token>\r
+      <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>BOOLEAN</DatumType>\r
+      <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+      <DefaultValue>FALSE</DefaultValue>\r
+      <HelpText>This is a switch to enable ISA</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdPciVgaEnable</C_Name>\r
+      <Token>0x0001003a</Token>\r
+      <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>BOOLEAN</DatumType>\r
+      <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+      <DefaultValue>FALSE</DefaultValue>\r
+      <HelpText>Whether VGA decoding is enabled on this platform so we should avoid those aliased resources</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry SupArchList="IA32">\r
+      <C_Name>PcdDxeIplSwitchToLongMode</C_Name>\r
+      <Token>0x0001003b</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>BOOLEAN</DatumType>\r
+      <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+      <DefaultValue>TRUE</DefaultValue>\r
+      <HelpText>If this feature is enabled, then the DXE IPL will load a 64-bit DxeCore.</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdDxeIplBuildShareCodeHobs</C_Name>\r
+      <Token>0x0001003c</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>BOOLEAN</DatumType>\r
+      <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+      <DefaultValue>FALSE</DefaultValue>\r
+      <HelpText>If this feature is enabled, DXE IPL will build a series of HOBs to share code with DXE Core.</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdPciBusHotplugDeviceSupport</C_Name>\r
+      <Token>0x0001003d</Token>\r
+      <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>BOOLEAN</DatumType>\r
+      <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+      <DefaultValue>TRUE</DefaultValue>\r
+      <HelpText>If TRUE, the PCI bus driver will support hot plug device. If not hot plug device is supported, this feature flag can be set to FALSE to save size.</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdNtEmulatorEnable</C_Name>\r
+      <Token>0x0001003e</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>BOOLEAN</DatumType>\r
+      <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+      <DefaultValue>FALSE</DefaultValue>\r
+      <HelpText>If this PCD is set as TRUE, NT emulator will be endabled.</HelpText>\r
     </PcdEntry>\r
   </PcdDeclarations>\r
-</PackageSurfaceArea>\r
+</PackageSurfaceArea>
\ No newline at end of file