Check in the Pcd service Driver/PEIM according to the new way of generating PCD Database
authorqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 24 May 2006 08:36:02 +0000 (08:36 +0000)
committerqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 24 May 2006 08:36:02 +0000 (08:36 +0000)
LIMITATION:

1) ONLY dynamic type PCD is supported for now. DynamicEx is not supported.
2) HII enable and VPD is not tested.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@257 6f19259b-4bc3-4df7-8a09-765794883524

EdkModulePkg/Universal/PCD/Pei/Pcd.dxs [new file with mode: 0644]
EdkModulePkg/Universal/PCD/Pei/Pcd.mbd [new file with mode: 0644]
EdkModulePkg/Universal/PCD/Pei/Pcd.msa [new file with mode: 0644]
EdkModulePkg/Universal/PCD/Pei/build.xml [new file with mode: 0644]

diff --git a/EdkModulePkg/Universal/PCD/Pei/Pcd.dxs b/EdkModulePkg/Universal/PCD/Pei/Pcd.dxs
new file mode 100644 (file)
index 0000000..ea57997
--- /dev/null
@@ -0,0 +1,25 @@
+/*++\r
+\r
+Copyright (c) 2006, Intel Corporation                                                         \r
+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
+                                                                                          \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.             \r
+\r
+Module Name:\r
+\r
+  PcdEmulator.dxs\r
+\r
+Abstract:\r
+\r
+  Dependency expression source file.\r
+  \r
+--*/  \r
+#include <DxeDepex.h>\r
+\r
+DEPENDENCY_START\r
+  TRUE\r
+DEPENDENCY_END\r
diff --git a/EdkModulePkg/Universal/PCD/Pei/Pcd.mbd b/EdkModulePkg/Universal/PCD/Pei/Pcd.mbd
new file mode 100644 (file)
index 0000000..816cf6f
--- /dev/null
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!--\r
+Copyright (c) 2006, Intel Corporation\r
+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
+\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.\r
+-->\r
+<ModuleBuildDescription xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.TianoCore.org/2006/Edk2.0  http://www.TianoCore.org/2006/Edk2.0/SurfaceArea.xsd">\r
+  <MbdHeader>\r
+    <BaseName>PcdEmulatorPeim</BaseName>\r
+    <Guid>9B3ADA4F-AE56-4c24-8DEA-F03B7558AE50</Guid>\r
+    <Version>EDK_RELEASE_VERSION        0x00020000</Version>\r
+    <Description>FIX ME!</Description>\r
+    <Copyright>Copyright (c) 2004-2006, Intel Corporation</Copyright>\r
+    <License>\r
+      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.\r
+    </License>\r
+    <Created>2006-03-14 17:04</Created>\r
+    <Modified>2006-03-24 18:54</Modified>\r
+  </MbdHeader>\r
+  <Libraries>\r
+    <Library>PeimEntryPoint</Library>\r
+    <Library>BaseLib</Library>\r
+    <Library>PeiCoreLib</Library>\r
+    <Library>PeiServicesTablePointerLib</Library>\r
+    <Library>PeiHobLib</Library>\r
+    <Library>BaseDebugLibReportStatusCode</Library>\r
+    <Library>PeiMemoryLib</Library>\r
+    <Library>PeiReportStatusCodeLib</Library>\r
+    <Library>PeiMemoryAllocationLib</Library>\r
+  </Libraries>\r
+</ModuleBuildDescription>\r
diff --git a/EdkModulePkg/Universal/PCD/Pei/Pcd.msa b/EdkModulePkg/Universal/PCD/Pei/Pcd.msa
new file mode 100644 (file)
index 0000000..d10dca5
--- /dev/null
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!--\r
+Copyright (c) 2006, Intel Corporation\r
+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
+\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.\r
+-->\r
+<ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.TianoCore.org/2006/Edk2.0  http://www.TianoCore.org/2006/Edk2.0/SurfaceArea.xsd">\r
+  <MsaHeader>\r
+    <BaseName>PcdPeim</BaseName>\r
+    <ModuleType>PEIM</ModuleType>\r
+    <ComponentType>PE32_PEIM</ComponentType>\r
+    <Guid>9B3ADA4F-AE56-4c24-8DEA-F03B7558AE50</Guid>\r
+    <Version>EDK_RELEASE_VERSION        0x00020000</Version>\r
+    <Abstract>Component description file for Pcd Database PEIM module</Abstract>\r
+    <Description>FIX ME!</Description>\r
+    <Copyright>Copyright (c) 2004-2006, Intel Corporation</Copyright>\r
+    <License>\r
+      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.\r
+    </License>\r
+    <Specification>EFI_SPECIFICATION_VERSION    0x00000000</Specification>\r
+    <Created>2006-03-14 17:04</Created>\r
+    <Updated>2006-03-24 18:54</Updated>\r
+  </MsaHeader>\r
+  <LibraryClassDefinitions>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">DebugLib</LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">PeimEntryPoint</LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">BaseLib</LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">HobLib</LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">PeiCoreLib</LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">PcdLib</LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">PeiServicesTablePointerLib</LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">MemoryAllocationLib</LibraryClass>\r
+    <LibraryClass Usage="ALWAYS_CONSUMED">BaseMemoryLib</LibraryClass>\r
+  </LibraryClassDefinitions>\r
+  <SourceFiles>\r
+    <Filename>Pcd.dxs</Filename>\r
+    <Filename>Pcd.c</Filename>\r
+    <Filename>Service.c</Filename>\r
+  </SourceFiles>\r
+  <Includes>\r
+    <PackageName>MdePkg</PackageName>\r
+    <PackageName>EdkModulePkg</PackageName>\r
+  </Includes>\r
+  <Hobs>\r
+    <Hob Usage="ALWAYS_PRODUCED" HobType="GUID_EXTENSION">\r
+      <Name>PcdDataBaseHob</Name>\r
+      <C_Name>gPcdDataBaseHobGuid</C_Name>\r
+      <Guid>0xea296d92, 0xb69,  0x423c, 0x8c, 0x28, 0x33, 0xb4, 0xe0, 0xa9, 0x12, 0x68</Guid>\r
+    </Hob>\r
+    <Hob Usage="ALWAYS_PRODUCED" HobType="GUID_EXTENSION">\r
+      <Name>PcdPeiCallbackFnTable</Name>\r
+      <C_Name>gPcdPeiCallbackFnTableHobGuid</C_Name>\r
+      <Guid>0xc625f4b2, 0xea09, 0x4675, 0x82, 0xd7, 0xba, 0x36, 0x82, 0x15, 0x7a, 0x14</Guid>\r
+    </Hob>\r
+  </Hobs>\r
+  <PPIs>\r
+    <Ppi Usage="ALWAYS_PRODUCED">Pcd</Ppi>\r
+    <Ppi Usage="ALWAYS_CONSUMED">ReadOnlyVariable</Ppi>\r
+  </PPIs>\r
+  <Guids>\r
+    <GuidEntry Usage="ALWAYS_CONSUMED">\r
+      <C_Name>PcdDataBaseHob</C_Name>\r
+    </GuidEntry>\r
+    <GuidEntry Usage="ALWAYS_CONSUMED">\r
+      <C_Name>PcdPeiCallbackFnTable</C_Name>\r
+    </GuidEntry>\r
+  </Guids>\r
+  <Externs>\r
+    <Extern>\r
+      <ModuleEntryPoint>PcdPeimInit</ModuleEntryPoint>\r
+    </Extern>\r
+  </Externs>\r
+  <PCDs>\r
+    <PcdData ItemType="FIXED_AT_BUILD">\r
+      <C_Name>PcdMaxPeiPcdCallBackNumberPerPcdEntry</C_Name>\r
+      <Token>0x0001000f</Token>\r
+      <DatumType>UINT32</DatumType>\r
+    </PcdData>\r
+    <PcdData ItemType="FIXED_AT_BUILD">\r
+      <C_Name>PcdVpdBaseAddress</C_Name>\r
+      <Token>0x00010010</Token>\r
+      <DatumType>UINT32</DatumType>\r
+    </PcdData>\r
+  </PCDs>\r
+</ModuleSurfaceArea>\r
diff --git a/EdkModulePkg/Universal/PCD/Pei/build.xml b/EdkModulePkg/Universal/PCD/Pei/build.xml
new file mode 100644 (file)
index 0000000..931a890
--- /dev/null
@@ -0,0 +1,47 @@
+<?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.-->
+<project basedir="." default="PcdPeim"><!--Apply external ANT tasks-->
+   <taskdef resource="GenBuild.tasks"/>
+   <taskdef resource="net/sf/antcontrib/antlib.xml"/>
+   <property environment="env"/>
+   <property name="WORKSPACE_DIR" value="${env.WORKSPACE}"/>
+   <import file="${WORKSPACE_DIR}\Tools\Conf\BuildMacro.xml"/><!--MODULE_RELATIVE PATH is relative to PACKAGE_DIR-->
+   <property name="MODULE_RELATIVE_PATH" value="Universal\PCD\Pei"/>
+   <property name="MODULE_DIR" value="${PACKAGE_DIR}\${MODULE_RELATIVE_PATH}"/>
+   <property name="COMMON_FILE" value="${WORKSPACE_DIR}\Tools\Conf\Common.xml"/>
+   <target name="PcdPeim">
+      <GenBuild baseName="PcdPeim" mbdFilename="${MODULE_DIR}\Pcd.mbd" msaFilename="${MODULE_DIR}\Pcd.msa"/>
+   </target>
+   <target depends="PcdPeim_clean" name="clean"/>
+   <target depends="PcdPeim_cleanall" name="cleanall"/>
+   <target name="PcdPeim_clean">
+      <OutputDirSetup baseName="PcdPeim" mbdFilename="${MODULE_DIR}\Pcd.mbd" msaFilename="${MODULE_DIR}\Pcd.msa"/>
+      <if>
+         <available file="${DEST_DIR_OUTPUT}\PcdPeim_build.xml"/>
+         <then>
+            <ant antfile="${DEST_DIR_OUTPUT}\PcdPeim_build.xml" target="clean"/>
+         </then>
+      </if>
+      <delete dir="${DEST_DIR_OUTPUT}" excludes="*.xml"/>
+   </target>
+   <target name="PcdPeim_cleanall">
+      <OutputDirSetup baseName="PcdPeim" mbdFilename="${MODULE_DIR}\Pcd.mbd" msaFilename="${MODULE_DIR}\Pcd.msa"/>
+      <if>
+         <available file="${DEST_DIR_OUTPUT}\PcdPeim_build.xml"/>
+         <then>
+            <ant antfile="${DEST_DIR_OUTPUT}\PcdPeim_build.xml" target="cleanall"/>
+         </then>
+      </if>
+      <delete dir="${DEST_DIR_OUTPUT}"/>
+      <delete dir="${DEST_DIR_DEBUG}"/>
+      <delete>
+         <fileset dir="${BIN_DIR}" includes="**PcdPeim*"/>
+      </delete>
+   </target>
+</project>
\ No newline at end of file