]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkModulePkg/EdkModulePkg.spd
Added a shortcut to FrameworkWizard.bat
[mirror_edk2.git] / EdkModulePkg / EdkModulePkg.spd
index 1ed7b39136ddc1d3702296708ef1f6d49b11e330..883df1873f79aa8f36e8e45d82a1e4c52c73057e 100644 (file)
@@ -1,5 +1,5 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<PackageSurfaceArea  xmlns="http://www.TianoCore.org/2006/Edk2.0">\r
+<?xml version="1.0" encoding="UTF-8"?>\r
+<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
@@ -7,11 +7,11 @@
     <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.
-      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
+    <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
       OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.</License>\r
     <Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   0x00000052</Specification>\r
   </SpdHeader>\r
       <IncludeHeader>Include/Library/CustomDecompressLib.h</IncludeHeader>\r
       <HelpText/>\r
     </LibraryClass>\r
-    <LibraryClass Name="EdkBsDataHubStatusCodeLib">\r
-      <IncludeHeader>Include/Library/EdkBsDataHubStatusCodeLib.h</IncludeHeader>\r
-      <HelpText/>\r
-    </LibraryClass>\r
     <LibraryClass Name="EdkDxeSalLib">\r
       <IncludeHeader>Include/Library/EdkDxeSalLib.h</IncludeHeader>\r
       <HelpText/>\r
       <IncludeHeader>Include/Library/EdkIfrSupportLib.h</IncludeHeader>\r
       <HelpText/>\r
     </LibraryClass>\r
-    <LibraryClass Name="EdkMemoryStatusCodeLib">\r
-      <IncludeHeader>Include/Library/EdkMemoryStatusCodeLib.h</IncludeHeader>\r
-      <HelpText/>\r
-    </LibraryClass>\r
     <LibraryClass Name="EdkPeCoffLoaderLib">\r
       <IncludeHeader>Include/Library/EdkPeCoffLoaderLib.h</IncludeHeader>\r
       <HelpText/>\r
       <IncludeHeader>Include/Library/EdkPeCoffLoaderX64Lib.h</IncludeHeader>\r
       <HelpText/>\r
     </LibraryClass>\r
-    <LibraryClass Name="EdkRtMemoryStatusCodeLib">\r
-      <IncludeHeader>Include/Library/EdkRtMemoryStatusCodeLib.h</IncludeHeader>\r
-      <HelpText/>\r
-    </LibraryClass>\r
-    <LibraryClass Name="EdkRtPlatformStatusCodeLib">\r
-      <IncludeHeader>Include/Library/EdkRtPlatformStatusCodeLib.h</IncludeHeader>\r
-      <HelpText/>\r
-    </LibraryClass>\r
     <LibraryClass Name="EdkScsiLib">\r
       <IncludeHeader>Include/Library/EdkScsiLib.h</IncludeHeader>\r
       <HelpText/>\r
       <IncludeHeader>Include/Library/TianoDecompressLib.h</IncludeHeader>\r
       <HelpText/>\r
     </LibraryClass>\r
+    <LibraryClass Name="SerialPortLib">\r
+      <IncludeHeader>Include/Library/SerialPortLib.h</IncludeHeader>\r
+      <HelpText/>\r
+    </LibraryClass>\r
+    <LibraryClass Name="OemHookStatusCodeLib">\r
+      <IncludeHeader>Include/Library/OemHookStatusCodeLib.h</IncludeHeader>\r
+      <HelpText/>\r
+    </LibraryClass>\r
   </LibraryClassDeclarations>\r
   <IndustryStdIncludes>\r
     <IndustryStdHeader Name="CapsuleName">\r
       <IncludeHeader>Include/Library/CustomDecompressLib.h</IncludeHeader>\r
       <HelpText/>\r
     </IndustryStdHeader>\r
-    <IndustryStdHeader Name="EdkBsDataHubStatusCodeLib">\r
-      <IncludeHeader>Include/Library/EdkBsDataHubStatusCodeLib.h</IncludeHeader>\r
-      <HelpText/>\r
-    </IndustryStdHeader>\r
     <IndustryStdHeader Name="EdkDxeSalLib">\r
       <IncludeHeader>Include/Library/EdkDxeSalLib.h</IncludeHeader>\r
       <HelpText/>\r
       <IncludeHeader>Include/Library/EdkIfrSupportLib.h</IncludeHeader>\r
       <HelpText/>\r
     </IndustryStdHeader>\r
-    <IndustryStdHeader Name="EdkMemoryStatusCodeLib">\r
-      <IncludeHeader>Include/Library/EdkMemoryStatusCodeLib.h</IncludeHeader>\r
-      <HelpText/>\r
-    </IndustryStdHeader>\r
     <IndustryStdHeader Name="EdkPeCoffLoaderLib">\r
       <IncludeHeader>Include/Library/EdkPeCoffLoaderLib.h</IncludeHeader>\r
       <HelpText/>\r
       <IncludeHeader>Include/Library/EdkPeCoffLoaderX64Lib.h</IncludeHeader>\r
       <HelpText/>\r
     </IndustryStdHeader>\r
-    <IndustryStdHeader Name="EdkRtMemoryStatusCodeLib">\r
-      <IncludeHeader>Include/Library/EdkRtMemoryStatusCodeLib.h</IncludeHeader>\r
-      <HelpText/>\r
-    </IndustryStdHeader>\r
-    <IndustryStdHeader Name="EdkRtPlatformStatusCodeLib">\r
-      <IncludeHeader>Include/Library/EdkRtPlatformStatusCodeLib.h</IncludeHeader>\r
-      <HelpText/>\r
-    </IndustryStdHeader>\r
     <IndustryStdHeader Name="EdkScsiLib">\r
       <IncludeHeader>Include/Library/EdkScsiLib.h</IncludeHeader>\r
       <HelpText/>\r
     <Filename>Bus/Pci/IdeBus/Dxe/idebus.msa</Filename>\r
     <Filename>Bus/Pci/PciBus/Dxe/PciBus.msa</Filename>\r
     <Filename>Bus/Pci/Uhci/Dxe/Uhci.msa</Filename>\r
+    <Filename>Bus/Pci/Ehci/Dxe/Ehci.msa</Filename>\r
     <Filename>Bus/Pci/Undi/RuntimeDxe/Undi.msa</Filename>\r
     <Filename>Bus/Scsi/ScsiBus/Dxe/ScsiBus.msa</Filename>\r
     <Filename>Bus/Scsi/ScsiDisk/Dxe/ScsiDisk.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/EdkDxeRuntimeDriverLib/EdkDxeRuntimeDriverLib.msa</Filename>\r
+    <Filename>Library/EdkUefiRuntimeLib/EdkUefiRuntimeLib.msa</Filename>\r
     <Filename>Library/EdkDxeSalLib/EdkDxeSalLib.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/EdkMemoryStatusCodeLib/EdkMemoryStatusCodeLib.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/EdkRuntimeStatusCodeLib/BsDataHubStatusCode/BsDataHubStatusCode.msa</Filename>\r
-    <Filename>Library/EdkRuntimeStatusCodeLib/RtMemoryStatusCode/RtMemoryStatusCode.msa</Filename>\r
-    <Filename>Library/EdkRuntimeStatusCodeLib/RtPlatformStatusCode/RtPlatformStatusCode.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>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/DataHub/DataHub/Dxe/DataHub.msa</Filename>\r
     <Filename>Universal/DataHub/DataHubStdErr/Dxe/DataHubStdErr.msa</Filename>\r
+    <Filename>Universal/DevicePath/Dxe/DevicePath.msa</Filename>\r
     <Filename>Universal/Debugger/Debugport/Dxe/DebugPort.msa</Filename>\r
     <Filename>Universal/DebugSupport/Dxe/DebugSupport.msa</Filename>\r
     <Filename>Universal/Disk/DiskIo/Dxe/DiskIo.msa</Filename>\r
     <Filename>Universal/PCD/Dxe/Pcd.msa</Filename>\r
     <Filename>Universal/Runtime/RuntimeDxe/Runtime.msa</Filename>\r
     <Filename>Universal/Security/SecurityStub/Dxe/SecurityStub.msa</Filename>\r
-    <Filename>Universal/StatusCode/RuntimeDxe/StatusCode.msa</Filename>\r
     <Filename>Universal/UserInterface/HiiDataBase/Dxe/HiiDatabase.msa</Filename>\r
     <Filename>Universal/UserInterface/DriverSample/DriverSample.msa</Filename>\r
     <Filename>Universal/UserInterface/SetupBrowser/Dxe/SetupBrowser.msa</Filename>\r
     <Filename>Universal/Variable/RuntimeDxe/Variable.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
   </MsaFiles>\r
   <PackageHeaders>\r
     <IncludePkgHeader ModuleType="SEC">Include/EdkPeim.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
     <Entry Name="EdkModulePkgTokenSpace">\r
       <C_Name>gEfiEdkModulePkgTokenSpaceGuid</C_Name>\r
       <GuidValue>8CC4092F-F60E-46d1-B41C-1E761DF50582</GuidValue>\r
       <HelpText>All PCD define in EdkModulePkg is in this token space scope</HelpText>\r
-    </Entry>  \r
+    </Entry>\r
     <Entry Name="PcdDataBaseHob">\r
       <C_Name>gPcdDataBaseHobGuid</C_Name>\r
       <GuidValue>EA296D92-0B69-423C-8C28-33B4E0A91268</GuidValue>\r
       <GuidValue>EC4DF5AF-4395-4CC9-94DE-77506D12C7B8</GuidValue>\r
       <HelpText/>\r
     </Entry>\r
+    <Entry Name="MemoryStatusCodeRecord">\r
+      <C_Name>gMemoryStatusCodeRecordGuid</C_Name>\r
+      <GuidValue>060CC026-4C0D-4DDA-8F41-595FEF00A502</GuidValue>\r
+      <HelpText/>\r
+    </Entry>\r
   </GuidDeclarations>\r
   <ProtocolDeclarations>\r
     <Entry Name="Capsule">\r
     </Entry>\r
   </PpiDeclarations>\r
   <PcdDeclarations>\r
-    <PcdEntry>\r
-      <C_Name>PcdMaximumUnicodeStringLength</C_Name>\r
-      <Token>0x00000001</Token>\r
-      <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
-      <DatumType>UINT32</DatumType>\r
-      <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
-      <DefaultValue>1000000</DefaultValue>\r
-      <HelpText>If PcdMaximumUnicodeStringLength is not zero, the maximum\r
-                number of characters (not counting the NULL-terminator) in a\r
-                Unicode string cannot exceed it.</HelpText>\r
-    </PcdEntry>\r
-    <PcdEntry>\r
-      <C_Name>PcdMaximumAsciiStringLength</C_Name>\r
-      <Token>0x00000002</Token>\r
-      <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
-      <DatumType>UINT32</DatumType>\r
-      <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
-      <DefaultValue>1000000</DefaultValue>\r
-      <HelpText>If PcdMaximumAsciiStringLength is not zero, the maximum number\r
-                of characters (not counting the NULL-terminator) in an ASCII\r
-                string cannot exceed it.</HelpText>\r
-    </PcdEntry>\r
-    <PcdEntry>\r
-      <C_Name>PcdMaximumLinkedListLength</C_Name>\r
-      <Token>0x00000003</Token>\r
-      <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
-      <DatumType>UINT32</DatumType>\r
-      <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
-      <DefaultValue>1000000</DefaultValue>\r
-      <HelpText>If PcdMaximumLinkedListLength is not zero, the maximum number\r
-                of nodes (not counting the list header) in a linked list\r
-                cannot exceed it.</HelpText>\r
-    </PcdEntry>\r
-    <PcdEntry>\r
-      <C_Name>PcdSpinLockTimeout</C_Name>\r
-      <Token>0x00000004</Token>\r
-      <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
-      <DatumType>UINT32</DatumType>\r
-      <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
-      <DefaultValue>10000000</DefaultValue>\r
-      <HelpText>If PcdSpinLockTimeout is not zero, it stands for the timeout\r
-                value (unit: millisecond) for spin lock.</HelpText>\r
-    </PcdEntry>\r
-    <PcdEntry>\r
-      <C_Name>PcdDebugPropertyMask</C_Name>\r
-      <Token>0x00000005</Token>\r
-      <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
-      <DatumType>UINT8</DatumType>\r
-      <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
-      <DefaultValue>0x0f</DefaultValue>\r
-      <HelpText>The bitmask of flags that specify the enable/disable of Debug\r
-                Assert, Debug Print, Debug Code, Clear Memory, Assert\r
-                Breakpoint and Assert Deadloop.</HelpText>\r
-    </PcdEntry>\r
-    <PcdEntry>\r
-      <C_Name>PcdDebugPrintErrorLevel</C_Name>\r
-      <Token>0x00000006</Token>\r
-      <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
-      <DatumType>UINT32</DatumType>\r
-      <ValidUsage>PATCHABLE_IN_MODULE</ValidUsage>\r
-      <DefaultValue>0x80000000</DefaultValue>\r
-      <HelpText>The bitmask of flags that specify the kind of debug message\r
-                output when Debug Print is enabled.</HelpText>\r
-    </PcdEntry>\r
-    <PcdEntry>\r
-      <C_Name>PcdReportStatusCodePropertyMask</C_Name>\r
-      <Token>0x00000007</Token>\r
-      <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
-      <DatumType>UINT8</DatumType>\r
-      <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
-      <DefaultValue>0x07</DefaultValue>\r
-      <HelpText>The bitmask of flags that specify the enable/disable of\r
-                Progress Code, Error Code and Debug Code.</HelpText>\r
-    </PcdEntry>\r
-    <PcdEntry>\r
-      <C_Name>PcdDebugClearMemoryValue</C_Name>\r
-      <Token>0x00000008</Token>\r
-      <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
-      <DatumType>UINT8</DatumType>\r
-      <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
-      <DefaultValue>0xAF</DefaultValue>\r
-      <HelpText>The value used by DebugClearMemory () to fill a certain range\r
-                of memory.</HelpText>\r
-    </PcdEntry>\r
-    <PcdEntry>\r
-      <C_Name>PcdPerformanceLibraryPropertyMask</C_Name>\r
-      <Token>0x00000009</Token>\r
-      <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
-      <DatumType>UINT8</DatumType>\r
-      <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
-      <DefaultValue>0</DefaultValue>\r
-      <HelpText>The bitmask of flags that specify the enable/disable of\r
-                Performance Measurement.</HelpText>\r
-    </PcdEntry>\r
     <PcdEntry>\r
       <C_Name>PcdMaxPeiPcdCallBackNumberPerPcdEntry</C_Name>\r
       <Token>0x0001000f</Token>\r
       <DatumType>UINT32</DatumType>\r
       <ValidUsage>FIXED_AT_BUILD</ValidUsage>\r
       <HelpText>Indicate the max size the platform can support in case of non-populated capsules</HelpText>\r
-    </PcdEntry>  \r
+    </PcdEntry>\r
     <PcdEntry>\r
       <C_Name>PcdPeiPcdDatabaseTraverseEnabled</C_Name>\r
       <Token>0x00010020</Token>\r
       <HelpText>This feature flag can be used to enable or disable the Pcd DXE database \r
         traverse capability. Disable it can reduce the size of final image generated.</HelpText>\r
     </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdStatusCodeUseSerial</C_Name>\r
+      <Token>0x00010022</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>BOOLEAN</DatumType>\r
+      <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+      <DefaultValue>FALSE</DefaultValue>\r
+      <HelpText>This feature flag can be used to enable or disable report staus code to serial I/O. Disable it can reduce the size of final image generated.</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdStatusCodeUseMemory</C_Name>\r
+      <Token>0x00010023</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>BOOLEAN</DatumType>\r
+      <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+      <DefaultValue>FALSE</DefaultValue>\r
+      <HelpText>This feature flag can be used to enable or disable save statuc code in GUID'ed HOB. Disable it can reduce the size of final image generated.</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdStatusCodeUseOEM</C_Name>\r
+      <Token>0x00010024</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>BOOLEAN</DatumType>\r
+      <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+      <DefaultValue>FALSE</DefaultValue>\r
+      <HelpText>This feature flag can be used to enable or disable send status code to OEM device. Disable it can reduce the size of final image generated.</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdStatusCodeMemorySize</C_Name>\r
+      <Token>0x00010025</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>UINT16</DatumType>\r
+      <ValidUsage>DYNAMIC</ValidUsage>\r
+      <DefaultValue>4</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
+      <C_Name>PcdStatusCodeUseEfiSerial</C_Name>\r
+      <Token>0x00010026</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>BOOLEAN</DatumType>\r
+      <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+      <DefaultValue>FALSE</DefaultValue>\r
+      <HelpText>Use to switch on/off report status code through serial DXE.</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdStatusCodeUseHardSerial</C_Name>\r
+      <Token>0x00010027</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>BOOLEAN</DatumType>\r
+      <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+      <DefaultValue>FALSE</DefaultValue>\r
+      <HelpText>Use to switch on/off report status code to serial device.</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdStatusCodeUseRuntimeMemory</C_Name>\r
+      <Token>0x00010028</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>BOOLEAN</DatumType>\r
+      <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+      <DefaultValue>FALSE</DefaultValue>\r
+      <HelpText>Use to switch on/off save status code in runtime memory.</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdStatusCodeUseDataHub</C_Name>\r
+      <Token>0x00010029</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>BOOLEAN</DatumType>\r
+      <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+      <DefaultValue>FALSE</DefaultValue>\r
+      <HelpText>Use to switch on/off log status code in data hub.</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdStatusCodeReplayInSerial</C_Name>\r
+      <Token>0x0001002a</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>BOOLEAN</DatumType>\r
+      <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+      <DefaultValue>FALSE</DefaultValue>\r
+      <HelpText>Use to enable/dsable replay status code which saved in GUID'ed HOB in PEI phase to EFI serial.</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdStatusCodeReplayInRuntimeMemory</C_Name>\r
+      <Token>0x0001002b</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>BOOLEAN</DatumType>\r
+      <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+      <DefaultValue>FALSE</DefaultValue>\r
+      <HelpText>Use to enable/dsable replay status code which saved in GUID'ed HOB in PEI phase to EFI serial.</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdStatusCodeReplayInDataHub</C_Name>\r
+      <Token>0x0001002c</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>BOOLEAN</DatumType>\r
+      <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+      <DefaultValue>FALSE</DefaultValue>\r
+      <HelpText>Use to enable/dsable replay status code which saved in GUID'ed HOB in PEI phase to EFI serial.</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdStatusCodeReplayInOEM</C_Name>\r
+      <Token>0x0001002d</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>BOOLEAN</DatumType>\r
+      <ValidUsage>FEATURE_FLAG</ValidUsage>\r
+      <DefaultValue>FALSE</DefaultValue>\r
+      <HelpText>Use to enable/dsable replay status code which saved in GUID'ed HOB in PEI phase to EFI serial.</HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdStatusCodeRuntimeMemorySize</C_Name>\r
+      <Token>0x0001002e</Token>\r
+      <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>UINT16</DatumType>\r
+      <ValidUsage>DYNAMIC</ValidUsage>\r
+      <DefaultValue>4</DefaultValue>\r
+      <HelpText>kbytes size of runtime memory.</HelpText>\r
+    </PcdEntry>\r
   </PcdDeclarations>\r
-</PackageSurfaceArea>
\ No newline at end of file
+</PackageSurfaceArea>\r