summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--EdkModulePkg/EdkModulePkg.fpd56
-rw-r--r--EdkNt32Pkg/Nt32.fpd16
-rw-r--r--MdePkg/Library/BaseTimerLibLocalApic/BaseTimerLibLocalApic.msa10
-rw-r--r--MdePkg/Library/BaseTimerLibLocalApic/x86TimerLib.c15
-rw-r--r--MdePkg/MdePkg.fpd333
-rw-r--r--MdePkg/MdePkg.spd23
6 files changed, 270 insertions, 183 deletions
diff --git a/EdkModulePkg/EdkModulePkg.fpd b/EdkModulePkg/EdkModulePkg.fpd
index a2da834923..6a7d0bb46e 100644
--- a/EdkModulePkg/EdkModulePkg.fpd
+++ b/EdkModulePkg/EdkModulePkg.fpd
@@ -858,6 +858,14 @@
<MaxDatumSize>1</MaxDatumSize>
<Value>0</Value>
</PcdData>
+ <PcdData ItemType="FIXED_AT_BUILD">
+ <C_Name>PcdPlatformBusSpeed</C_Name>
+ <Token>0x0000000c</Token>
+ <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>
+ <DatumType>UINT32</DatumType>
+ <MaxDatumSize>4</MaxDatumSize>
+ <Value>200000000</Value>
+ </PcdData>
</PcdBuildDefinition>
<ModuleSaBuildOptions>
<FvBinding>NULL</FvBinding>
@@ -4863,6 +4871,14 @@
<MaxDatumSize>1</MaxDatumSize>
<Value>0x06</Value>
</PcdData>
+ <PcdData ItemType="FIXED_AT_BUILD">
+ <C_Name>PcdPlatformBusSpeed</C_Name>
+ <Token>0x0000000c</Token>
+ <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>
+ <DatumType>UINT32</DatumType>
+ <MaxDatumSize>4</MaxDatumSize>
+ <Value>200000000</Value>
+ </PcdData>
</PcdBuildDefinition>
<ModuleSaBuildOptions>
<FvBinding>NULL</FvBinding>
@@ -5032,6 +5048,14 @@
<MaxDatumSize>1</MaxDatumSize>
<Value>0x06</Value>
</PcdData>
+ <PcdData ItemType="FIXED_AT_BUILD">
+ <C_Name>PcdPlatformBusSpeed</C_Name>
+ <Token>0x0000000c</Token>
+ <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>
+ <DatumType>UINT32</DatumType>
+ <MaxDatumSize>4</MaxDatumSize>
+ <Value>200000000</Value>
+ </PcdData>
</PcdBuildDefinition>
<ModuleSaBuildOptions>
<FvBinding>NULL</FvBinding>
@@ -5201,6 +5225,14 @@
<MaxDatumSize>1</MaxDatumSize>
<Value>0x06</Value>
</PcdData>
+ <PcdData ItemType="FIXED_AT_BUILD">
+ <C_Name>PcdPlatformBusSpeed</C_Name>
+ <Token>0x0000000c</Token>
+ <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>
+ <DatumType>UINT32</DatumType>
+ <MaxDatumSize>4</MaxDatumSize>
+ <Value>200000000</Value>
+ </PcdData>
</PcdBuildDefinition>
<ModuleSaBuildOptions>
<FvBinding>NULL</FvBinding>
@@ -6036,6 +6068,14 @@
<MaxDatumSize>1</MaxDatumSize>
<Value>0</Value>
</PcdData>
+ <PcdData ItemType="FIXED_AT_BUILD">
+ <C_Name>PcdPlatformBusSpeed</C_Name>
+ <Token>0x0000000c</Token>
+ <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>
+ <DatumType>UINT32</DatumType>
+ <MaxDatumSize>4</MaxDatumSize>
+ <Value>200000000</Value>
+ </PcdData>
</PcdBuildDefinition>
<ModuleSaBuildOptions>
<FvBinding>NULL</FvBinding>
@@ -10075,6 +10115,14 @@
<MaxDatumSize>1</MaxDatumSize>
<Value>0</Value>
</PcdData>
+ <PcdData ItemType="FIXED_AT_BUILD">
+ <C_Name>PcdPlatformBusSpeed</C_Name>
+ <Token>0x0000000c</Token>
+ <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>
+ <DatumType>UINT32</DatumType>
+ <MaxDatumSize>4</MaxDatumSize>
+ <Value>200000000</Value>
+ </PcdData>
</PcdBuildDefinition>
<ModuleSaBuildOptions>
<FvBinding>NULL</FvBinding>
@@ -14118,6 +14166,14 @@
<MaxDatumSize>1</MaxDatumSize>
<Value>0</Value>
</PcdData>
+ <PcdData ItemType="FIXED_AT_BUILD">
+ <C_Name>PcdPlatformBusSpeed</C_Name>
+ <Token>0x0000000c</Token>
+ <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>
+ <DatumType>UINT32</DatumType>
+ <MaxDatumSize>4</MaxDatumSize>
+ <Value>200000000</Value>
+ </PcdData>
</PcdBuildDefinition>
<ModuleSaBuildOptions>
<FvBinding>NULL</FvBinding>
diff --git a/EdkNt32Pkg/Nt32.fpd b/EdkNt32Pkg/Nt32.fpd
index 42e33a691f..0d95efdd2d 100644
--- a/EdkNt32Pkg/Nt32.fpd
+++ b/EdkNt32Pkg/Nt32.fpd
@@ -578,6 +578,14 @@
<MaxDatumSize>1</MaxDatumSize>
<Value>TRUE</Value>
</PcdData>
+ <PcdData ItemType="FIXED_AT_BUILD">
+ <C_Name>PcdPlatformBusSpeed</C_Name>
+ <Token>0x0000000c</Token>
+ <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>
+ <DatumType>UINT32</DatumType>
+ <MaxDatumSize>4</MaxDatumSize>
+ <Value>200000000</Value>
+ </PcdData>
</PcdBuildDefinition>
<ModuleSaBuildOptions>
<FvBinding>FV_RECOVERY</FvBinding>
@@ -2529,6 +2537,14 @@
<MaxDatumSize>1</MaxDatumSize>
<Value>FALSE</Value>
</PcdData>
+ <PcdData ItemType="FIXED_AT_BUILD">
+ <C_Name>PcdPlatformBusSpeed</C_Name>
+ <Token>0x0000000c</Token>
+ <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>
+ <DatumType>UINT32</DatumType>
+ <MaxDatumSize>4</MaxDatumSize>
+ <Value>200000000</Value>
+ </PcdData>
</PcdBuildDefinition>
<ModuleSaBuildOptions>
<FvBinding>FV_RECOVERY</FvBinding>
diff --git a/MdePkg/Library/BaseTimerLibLocalApic/BaseTimerLibLocalApic.msa b/MdePkg/Library/BaseTimerLibLocalApic/BaseTimerLibLocalApic.msa
index f24d6daabe..f1d22f2603 100644
--- a/MdePkg/Library/BaseTimerLibLocalApic/BaseTimerLibLocalApic.msa
+++ b/MdePkg/Library/BaseTimerLibLocalApic/BaseTimerLibLocalApic.msa
@@ -35,6 +35,9 @@
<LibraryClass Usage="ALWAYS_CONSUMED">
<Keyword>DebugLib</Keyword>
</LibraryClass>
+ <LibraryClass Usage="ALWAYS_CONSUMED">
+ <Keyword>PcdLib</Keyword>
+ </LibraryClass>
</LibraryClassDefinitions>
<SourceFiles>
<Filename SupArchList="IA32">x86TimerLib.c</Filename>
@@ -49,4 +52,11 @@
<Specification>EFI_SPECIFICATION_VERSION 0x00020000</Specification>
<Specification>EDK_RELEASE_VERSION 0x00020000</Specification>
</Externs>
+ <PcdCoded>
+ <PcdEntry PcdItemType="FIXED_AT_BUILD" Usage="ALWAYS_CONSUMED">
+ <C_Name>PcdPlatformBusSpeed</C_Name>
+ <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>
+ <HelpText>This value is the Bus Speed on platform</HelpText>
+ </PcdEntry>
+ </PcdCoded>
</ModuleSurfaceArea> \ No newline at end of file
diff --git a/MdePkg/Library/BaseTimerLibLocalApic/x86TimerLib.c b/MdePkg/Library/BaseTimerLibLocalApic/x86TimerLib.c
index 87c33a7c5d..d2935cf83a 100644
--- a/MdePkg/Library/BaseTimerLibLocalApic/x86TimerLib.c
+++ b/MdePkg/Library/BaseTimerLibLocalApic/x86TimerLib.c
@@ -19,18 +19,9 @@
**/
//
-// The following 2 arrays are used in calculating the frequency of local APIC
+// The following array is used in calculating the frequency of local APIC
// timer. Refer to IA-32 developers' manual for more details.
//
-
-GLOBAL_REMOVE_IF_UNREFERENCED
-CONST UINT32 mTimerLibLocalApicFrequencies[] = {
- 100000000,
- 133000000,
- 200000000,
- 166000000
-};
-
GLOBAL_REMOVE_IF_UNREFERENCED
CONST UINT8 mTimerLibLocalApicDivisor[] = {
0x02, 0x04, 0x08, 0x10,
@@ -73,7 +64,7 @@ InternalX86GetTimerFrequency (
)
{
return
- mTimerLibLocalApicFrequencies[AsmMsrBitFieldRead32 (44, 16, 18)] /
+ PcdGet32(PcdPlatformBusSpeed) /
mTimerLibLocalApicDivisor[MmioBitFieldRead32 (ApicBase + 0x3e0, 0, 3)];
}
@@ -255,5 +246,5 @@ GetPerformanceCounterProperties (
*EndValue = 0;
}
- return (UINT64)InternalX86GetTimerFrequency (ApicBase);
+ return PcdGet32(PcdPlatformBusSpeed);
}
diff --git a/MdePkg/MdePkg.fpd b/MdePkg/MdePkg.fpd
index e0213a5d87..e4a3fa3f12 100644
--- a/MdePkg/MdePkg.fpd
+++ b/MdePkg/MdePkg.fpd
@@ -1,15 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!--
-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.
--->
-<PlatformSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0">
+<PlatformSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<PlatformHeader>
<PlatformName>MdePkgAll</PlatformName>
<GuidValue>0fe7dd3e-0969-48c3-8cd2-de9a190088e2</GuidValue>
@@ -31,6 +21,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<BuildTargets>DEBUG RELEASE</BuildTargets>
<IntermediateDirectories>UNIFIED</IntermediateDirectories>
<OutputDirectory>Build/Mde</OutputDirectory>
+ <SkuInfo>
+ <UiSkuName SkuID="0">DEFAULT</UiSkuName>
+ </SkuInfo>
</PlatformDefinitions>
<Flash>
<FlashDefinitionFile>dummy.fdf</FlashDefinitionFile>
@@ -113,6 +106,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</ModuleSaBuildOptions>
</ModuleSA>
<ModuleSA SupArchList="IA32" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec" ModuleGuid="b5a05743-9b71-489b-a0ed-a0eb3950d23b">
+ <PcdBuildDefinition>
+ <PcdData ItemType="FIXED_AT_BUILD">
+ <C_Name>PcdPlatformBusSpeed</C_Name>
+ <Token>0x0000000c</Token>
+ <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>
+ <DatumType>UINT32</DatumType>
+ <MaxDatumSize>4</MaxDatumSize>
+ <Value>200000000</Value>
+ </PcdData>
+ </PcdBuildDefinition>
<ModuleSaBuildOptions>
<FvBinding>NULL</FvBinding>
<FfsFormatKey>LIBRARY</FfsFormatKey>
@@ -661,6 +664,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</ModuleSaBuildOptions>
</ModuleSA>
<ModuleSA SupArchList="IPF" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec" ModuleGuid="b5a05743-9b71-489b-a0ed-a0eb3950d23b">
+ <PcdBuildDefinition>
+ <PcdData ItemType="FIXED_AT_BUILD">
+ <C_Name>PcdPlatformBusSpeed</C_Name>
+ <Token>0x0000000c</Token>
+ <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>
+ <DatumType>UINT32</DatumType>
+ <MaxDatumSize>4</MaxDatumSize>
+ <Value>200000000</Value>
+ </PcdData>
+ </PcdBuildDefinition>
<ModuleSaBuildOptions>
<FvBinding>NULL</FvBinding>
<FfsFormatKey>LIBRARY</FfsFormatKey>
@@ -1221,6 +1234,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</ModuleSaBuildOptions>
</ModuleSA>
<ModuleSA SupArchList="X64" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec" ModuleGuid="b5a05743-9b71-489b-a0ed-a0eb3950d23b">
+ <PcdBuildDefinition>
+ <PcdData ItemType="FIXED_AT_BUILD">
+ <C_Name>PcdPlatformBusSpeed</C_Name>
+ <Token>0x0000000c</Token>
+ <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>
+ <DatumType>UINT32</DatumType>
+ <MaxDatumSize>4</MaxDatumSize>
+ <Value>200000000</Value>
+ </PcdData>
+ </PcdBuildDefinition>
<ModuleSaBuildOptions>
<FvBinding>NULL</FvBinding>
<FfsFormatKey>LIBRARY</FfsFormatKey>
@@ -1769,6 +1792,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</ModuleSaBuildOptions>
</ModuleSA>
<ModuleSA SupArchList="EBC" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec" ModuleGuid="b5a05743-9b71-489b-a0ed-a0eb3950d23b">
+ <PcdBuildDefinition>
+ <PcdData ItemType="FIXED_AT_BUILD">
+ <C_Name>PcdPlatformBusSpeed</C_Name>
+ <Token>0x0000000c</Token>
+ <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>
+ <DatumType>UINT32</DatumType>
+ <MaxDatumSize>4</MaxDatumSize>
+ <Value>200000000</Value>
+ </PcdData>
+ </PcdBuildDefinition>
<ModuleSaBuildOptions>
<FvBinding>NULL</FvBinding>
<FfsFormatKey>LIBRARY</FfsFormatKey>
@@ -2254,153 +2287,135 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</ModuleSA>
</FrameworkModules>
<BuildOptions>
- <Ffs FfsKey="APPLICATION">
- <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_APPLICATION" />
- <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE" />
- <Sections EncapsulationType="Compress">
- <Sections EncapsulationType="Guid-Defined">
- <Section SectionType="EFI_SECTION_PE32" />
- <Section SectionType="EFI_SECTION_USER_INTERFACE" />
- <Section SectionType="EFI_SECTION_VERSION" />
- </Sections>
- </Sections>
- </Ffs>
-
- <Ffs FfsKey="BINARY">
- <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_FREEFORM" />
- <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE" />
- <Sections EncapsulationType="Compress">
- <Sections EncapsulationType="Guid-Defined">
- <Section SectionType="EFI_SECTION_RAW" />
- </Sections>
- </Sections>
- </Ffs>
-
- <Ffs FfsKey="FILE">
- <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_FREEFORM" />
- <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE" />
- <Sections>
- <Section SectionType="EFI_SECTION_RAW"/>
- </Sections>
- </Ffs>
-
- <Ffs FfsKey="PE32_PEIM_CompressPEIM">
- <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_PEIM" />
- <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE" />
-
- <Sections>
- <Section SectionType="EFI_SECTION_PEI_DEPEX" />
- <Sections EncapsulationType="Compress">
- <Section SectionType="EFI_SECTION_PE32" />
- <Section SectionType="EFI_SECTION_USER_INTERFACE" />
- <Section SectionType="EFI_SECTION_VERSION" />
- </Sections>
- </Sections>
- </Ffs>
-
- <Ffs FfsKey="PEI_CORE">
- <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_PEI_CORE" />
- <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE" />
- <Sections>
- <Section SectionType="EFI_SECTION_PE32"/>
- <Section SectionType="EFI_SECTION_USER_INTERFACE"/>
- <Section SectionType="EFI_SECTION_VERSION"/>
- </Sections>
- </Ffs>
-
- <Ffs FfsKey="PE32_PEIM_Relocatable">
- <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_PEIM" />
- <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE" />
- <Sections>
- <Section SectionType="EFI_SECTION_PEI_DEPEX"/>
- <Section SectionType="EFI_SECTION_PE32"/>
- </Sections>
- </Ffs>
-
- <Ffs FfsKey="DXE_CORE">
- <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_DXE_CORE" />
- <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE" />
- <Sections EncapsulationType="Compress">
- <Section SectionType="EFI_SECTION_PE32" />
- <Section SectionType="EFI_SECTION_USER_INTERFACE" />
- <Section SectionType="EFI_SECTION_VERSION" />
- </Sections>
- </Ffs>
-
-
- <Ffs FfsKey="BS_DRIVER">
- <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_DRIVER" />
- <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE" />
-
- <Sections EncapsulationType="Compress">
- <Sections EncapsulationType="Guid-Defined">
- <Section SectionType="EFI_SECTION_PEI_DEPEX" />
- <Section SectionType="EFI_SECTION_PE32" />
- <Section SectionType="EFI_SECTION_USER_INTERFACE" />
- <Section SectionType="EFI_SECTION_VERSION" />
- </Sections>
- </Sections>
- </Ffs>
-
- <Ffs FfsKey="RT_DRIVER">
- <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_DRIVER" />
- <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE" />
-
- <Sections EncapsulationType="Compress">
- <Sections EncapsulationType="Guid-Defined">
- <Section SectionType="EFI_SECTION_PEI_DEPEX" />
- <Section SectionType="EFI_SECTION_PE32" />
- <Section SectionType="EFI_SECTION_USER_INTERFACE" />
- <Section SectionType="EFI_SECTION_VERSION" />
- </Sections>
- </Sections>
- </Ffs>
-
- <Ffs FfsKey="SAL_RT_DRIVER">
- <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_DRIVER" />
- <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE" />
-
- <Sections EncapsulationType="Compress">
- <Sections EncapsulationType="Guid-Defined">
- <Section SectionType="EFI_SECTION_PEI_DEPEX" />
- <Section SectionType="EFI_SECTION_PE32" />
- <Section SectionType="EFI_SECTION_USER_INTERFACE" />
- <Section SectionType="EFI_SECTION_VERSION" />
- </Sections>
- </Sections>
- </Ffs>
-
- <Ffs FfsKey="COMBINED_PEIM_DRIVER">
- <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_COMBINED_PEIM_DRIVER" />
- <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE" />
- <Sections>
- <Section SectionType="EFI_SECTION_PEI_DEPEX"/>
- <Section SectionType="EFI_SECTION_PE32"/>
- <Section SectionType="EFI_SECTION_USER_INTERFACE"/>
- <Section SectionType="EFI_SECTION_VERSION"/>
- </Sections>
- </Ffs>
-
- <Ffs FfsKey="PE32_PEIM">
- <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_PEIM" />
- <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE" />
- <Sections>
- <Section SectionType="EFI_SECTION_PEI_DEPEX"/>
- <Section SectionType="EFI_SECTION_PE32"/>
- <Section SectionType="EFI_SECTION_USER_INTERFACE"/>
- <Section SectionType="EFI_SECTION_VERSION"/>
- </Sections>
- </Ffs>
-
- <Ffs FfsKey="Logo">
- <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_FREEFORM" />
- <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE" />
- <Sections EncapsulationType="Compress">
- <Sections EncapsulationType="Guid-Defined">
- <Section SectionType="EFI_SECTION_RAW" />
- </Sections>
- </Sections>
- </Ffs>
-
+ <Ffs FfsKey="APPLICATION">
+ <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_APPLICATION"/>
+ <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE"/>
+ <Sections EncapsulationType="Compress">
+ <Sections EncapsulationType="Guid-Defined">
+ <Section SectionType="EFI_SECTION_PE32"/>
+ <Section SectionType="EFI_SECTION_USER_INTERFACE"/>
+ <Section SectionType="EFI_SECTION_VERSION"/>
+ </Sections>
+ </Sections>
+ </Ffs>
+ <Ffs FfsKey="BINARY">
+ <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_FREEFORM"/>
+ <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE"/>
+ <Sections EncapsulationType="Compress">
+ <Sections EncapsulationType="Guid-Defined">
+ <Section SectionType="EFI_SECTION_RAW"/>
+ </Sections>
+ </Sections>
+ </Ffs>
+ <Ffs FfsKey="FILE">
+ <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_FREEFORM"/>
+ <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE"/>
+ <Sections>
+ <Section SectionType="EFI_SECTION_RAW"/>
+ </Sections>
+ </Ffs>
+ <Ffs FfsKey="PE32_PEIM_CompressPEIM">
+ <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_PEIM"/>
+ <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE"/>
+ <Sections>
+ <Section SectionType="EFI_SECTION_PEI_DEPEX"/>
+ <Sections EncapsulationType="Compress">
+ <Section SectionType="EFI_SECTION_PE32"/>
+ <Section SectionType="EFI_SECTION_USER_INTERFACE"/>
+ <Section SectionType="EFI_SECTION_VERSION"/>
+ </Sections>
+ </Sections>
+ </Ffs>
+ <Ffs FfsKey="PEI_CORE">
+ <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_PEI_CORE"/>
+ <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE"/>
+ <Sections>
+ <Section SectionType="EFI_SECTION_PE32"/>
+ <Section SectionType="EFI_SECTION_USER_INTERFACE"/>
+ <Section SectionType="EFI_SECTION_VERSION"/>
+ </Sections>
+ </Ffs>
+ <Ffs FfsKey="PE32_PEIM_Relocatable">
+ <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_PEIM"/>
+ <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE"/>
+ <Sections>
+ <Section SectionType="EFI_SECTION_PEI_DEPEX"/>
+ <Section SectionType="EFI_SECTION_PE32"/>
+ </Sections>
+ </Ffs>
+ <Ffs FfsKey="DXE_CORE">
+ <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_DXE_CORE"/>
+ <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE"/>
+ <Sections EncapsulationType="Compress">
+ <Section SectionType="EFI_SECTION_PE32"/>
+ <Section SectionType="EFI_SECTION_USER_INTERFACE"/>
+ <Section SectionType="EFI_SECTION_VERSION"/>
+ </Sections>
+ </Ffs>
+ <Ffs FfsKey="BS_DRIVER">
+ <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_DRIVER"/>
+ <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE"/>
+ <Sections EncapsulationType="Compress">
+ <Sections EncapsulationType="Guid-Defined">
+ <Section SectionType="EFI_SECTION_PEI_DEPEX"/>
+ <Section SectionType="EFI_SECTION_PE32"/>
+ <Section SectionType="EFI_SECTION_USER_INTERFACE"/>
+ <Section SectionType="EFI_SECTION_VERSION"/>
+ </Sections>
+ </Sections>
+ </Ffs>
+ <Ffs FfsKey="RT_DRIVER">
+ <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_DRIVER"/>
+ <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE"/>
+ <Sections EncapsulationType="Compress">
+ <Sections EncapsulationType="Guid-Defined">
+ <Section SectionType="EFI_SECTION_PEI_DEPEX"/>
+ <Section SectionType="EFI_SECTION_PE32"/>
+ <Section SectionType="EFI_SECTION_USER_INTERFACE"/>
+ <Section SectionType="EFI_SECTION_VERSION"/>
+ </Sections>
+ </Sections>
+ </Ffs>
+ <Ffs FfsKey="SAL_RT_DRIVER">
+ <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_DRIVER"/>
+ <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE"/>
+ <Sections EncapsulationType="Compress">
+ <Sections EncapsulationType="Guid-Defined">
+ <Section SectionType="EFI_SECTION_PEI_DEPEX"/>
+ <Section SectionType="EFI_SECTION_PE32"/>
+ <Section SectionType="EFI_SECTION_USER_INTERFACE"/>
+ <Section SectionType="EFI_SECTION_VERSION"/>
+ </Sections>
+ </Sections>
+ </Ffs>
+ <Ffs FfsKey="COMBINED_PEIM_DRIVER">
+ <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_COMBINED_PEIM_DRIVER"/>
+ <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE"/>
+ <Sections>
+ <Section SectionType="EFI_SECTION_PEI_DEPEX"/>
+ <Section SectionType="EFI_SECTION_PE32"/>
+ <Section SectionType="EFI_SECTION_USER_INTERFACE"/>
+ <Section SectionType="EFI_SECTION_VERSION"/>
+ </Sections>
+ </Ffs>
+ <Ffs FfsKey="PE32_PEIM">
+ <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_PEIM"/>
+ <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE"/>
+ <Sections>
+ <Section SectionType="EFI_SECTION_PEI_DEPEX"/>
+ <Section SectionType="EFI_SECTION_PE32"/>
+ <Section SectionType="EFI_SECTION_USER_INTERFACE"/>
+ <Section SectionType="EFI_SECTION_VERSION"/>
+ </Sections>
+ </Ffs>
+ <Ffs FfsKey="Logo">
+ <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_FREEFORM"/>
+ <Attribute Name="FFS_ATTRIB_CHECKSUM" Value="TRUE"/>
+ <Sections EncapsulationType="Compress">
+ <Sections EncapsulationType="Guid-Defined">
+ <Section SectionType="EFI_SECTION_RAW"/>
+ </Sections>
+ </Sections>
+ </Ffs>
</BuildOptions>
</PlatformSurfaceArea>
diff --git a/MdePkg/MdePkg.spd b/MdePkg/MdePkg.spd
index cac04220c9..5abbddaa61 100644
--- a/MdePkg/MdePkg.spd
+++ b/MdePkg/MdePkg.spd
@@ -1,15 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!--
-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.
--->
-<PackageSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0">
+<PackageSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SpdHeader>
<PackageName>MdePkg</PackageName>
<GuidValue>5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec</GuidValue>
@@ -28,7 +18,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052</Specification>
</SpdHeader>
<PackageDefinitions>
- <ReadOnly>true</ReadOnly>
+ <ReadOnly>false</ReadOnly>
<RePackage>false</RePackage>
</PackageDefinitions>
<LibraryClassDeclarations>
@@ -2334,5 +2324,14 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<DefaultValue>0xE0000000</DefaultValue>
<HelpText>The base address of PCI Express MMIO window.</HelpText>
</PcdEntry>
+ <PcdEntry>
+ <C_Name>PcdPlatformBusSpeed</C_Name>
+ <Token>0x0000000c</Token>
+ <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>
+ <DatumType>UINT32</DatumType>
+ <ValidUsage>FIXED_AT_BUILD PATCHABLE_IN_MODULE</ValidUsage>
+ <DefaultValue>200000000</DefaultValue>
+ <HelpText>This value is the Bus Speed on platform</HelpText>
+ </PcdEntry>
</PcdDeclarations>
</PackageSurfaceArea> \ No newline at end of file