Sync up Pcd Library Instances and PCD Driver/PEIM with Pcd spec 0.51 and Mde 0.51
authorqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 26 May 2006 01:09:00 +0000 (01:09 +0000)
committerqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 26 May 2006 01:09:00 +0000 (01:09 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@286 6f19259b-4bc3-4df7-8a09-765794883524

EdkModulePkg/EdkModulePkg.fpd
EdkModulePkg/EdkModulePkg.spd
EdkModulePkg/Universal/PCD/Dxe/Pcd.c
EdkModulePkg/Universal/PCD/Dxe/Service.h
EdkModulePkg/Universal/PCD/Pei/Pcd.c
EdkModulePkg/Universal/PCD/Pei/Service.c
EdkModulePkg/Universal/PCD/Pei/Service.h

index 3e3d713..72fe519 100644 (file)
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
+<?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
@@ -522,6 +522,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
       </ModuleSA>      \r
     </DXE_CORE>\r
     <DXE_DRIVERS>\r
+      <ModuleSA Arch="IA32" FvBinding="FV_RECOVERY" ModuleName="PcdDxe">\r
+      </ModuleSA>\r
       <ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="HelloWorld" >\r
         <PcdBuildDeclarations>\r
           <PcdBuildData ItemType="FIXED_AT_BUILD">\r
@@ -2904,6 +2906,197 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
           </PcdBuildData>           \r
         </PcdBuildDeclarations>\r
       </ModuleSA>      \r
+      <ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="PcdPeim" >\r
+        <PcdBuildDeclarations>\r
+            <PcdBuildData ItemType="FIXED_AT_BUILD">\r
+              <C_Name>PcdMaxPeiPcdCallBackNumberPerPcdEntry</C_Name>\r
+              <Token>0x0001000f</Token>\r
+              <DatumType>UINT32</DatumType>\r
+              <HiiEnable>false</HiiEnable>\r
+              <VpdEnable>false</VpdEnable>\r
+              <AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>\r
+              <SkuEnable>false</SkuEnable>\r
+              <SkuDataArrayEnable>false</SkuDataArrayEnable>\r
+              <MaxSku>0</MaxSku>\r
+              <SkuId>0</SkuId>\r
+              <DatumSize>4</DatumSize>\r
+              <VariableGuid>0</VariableGuid>\r
+              <VariableName>L""</VariableName>\r
+              <DataOffset>0</DataOffset>\r
+              <DefaultValue>0x08</DefaultValue>\r
+            </PcdBuildData>           \r
+            <PcdBuildData ItemType="FIXED_AT_BUILD">\r
+             <C_Name>PcdVpdBaseAddress</C_Name>\r
+                <Token>0x00010010</Token>\r
+                <DatumType>UINT32</DatumType>\r
+                <HiiEnable>false</HiiEnable>\r
+                <VpdEnable>false</VpdEnable>\r
+                <AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>\r
+                <SkuEnable>false</SkuEnable>\r
+                <SkuDataArrayEnable>false</SkuDataArrayEnable>\r
+                <MaxSku>0</MaxSku>\r
+                <SkuId>0</SkuId>\r
+                <DatumSize>4</DatumSize>\r
+                <VariableGuid>0</VariableGuid>\r
+                <VariableName>L""</VariableName>\r
+                <DataOffset>0</DataOffset>\r
+                <DefaultValue>0x10000000</DefaultValue>\r
+            </PcdBuildData>           \r
+          <PcdBuildData ItemType="FIXED_AT_BUILD">\r
+            <C_Name>PcdMaximumUnicodeStringLength</C_Name>\r
+            <Token>0x00000001</Token>\r
+            <DatumType>UINT32</DatumType>\r
+            <HiiEnable>false</HiiEnable>\r
+            <VpdEnable>false</VpdEnable>\r
+            <AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>\r
+            <SkuEnable>false</SkuEnable>\r
+            <SkuDataArrayEnable>false</SkuDataArrayEnable>\r
+            <MaxSku>0x00</MaxSku>\r
+            <SkuId>0x00</SkuId>\r
+            <DatumSize>4</DatumSize>\r
+            <VariableGuid>0</VariableGuid>\r
+            <VariableName>L""</VariableName>\r
+            <DataOffset>0</DataOffset>\r
+            <DefaultValue>1000000</DefaultValue>\r
+          </PcdBuildData>\r
+          <PcdBuildData ItemType="FIXED_AT_BUILD">\r
+            <C_Name>PcdMaximumAsciiStringLength</C_Name>\r
+            <Token>0x00000002</Token>\r
+            <DatumType>UINT32</DatumType>\r
+            <HiiEnable>false</HiiEnable>\r
+            <VpdEnable>false</VpdEnable>\r
+            <AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>\r
+            <SkuEnable>false</SkuEnable>\r
+            <SkuDataArrayEnable>false</SkuDataArrayEnable>\r
+            <MaxSku>0x00</MaxSku>\r
+            <SkuId>0x00</SkuId>\r
+            <DatumSize>4</DatumSize>\r
+            <VariableGuid>0</VariableGuid>\r
+            <VariableName>L""</VariableName>\r
+            <DataOffset>0</DataOffset>\r
+            <DefaultValue>1000000</DefaultValue>\r
+          </PcdBuildData>\r
+          <PcdBuildData ItemType="FIXED_AT_BUILD">\r
+            <C_Name>PcdDebugPropertyMask</C_Name>\r
+            <Token>0x00000005</Token>\r
+            <DatumType>UINT8</DatumType>\r
+            <HiiEnable>false</HiiEnable>\r
+            <VpdEnable>false</VpdEnable>\r
+            <AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>\r
+            <SkuEnable>false</SkuEnable>\r
+            <SkuDataArrayEnable>false</SkuDataArrayEnable>\r
+            <MaxSku>0x00</MaxSku>\r
+            <SkuId>0x00</SkuId>\r
+            <DatumSize>4</DatumSize>\r
+            <VariableGuid>0</VariableGuid>\r
+            <VariableName>L""</VariableName>\r
+            <DataOffset>0</DataOffset>\r
+            <DefaultValue>0x0f</DefaultValue>\r
+          </PcdBuildData>\r
+          <PcdBuildData ItemType="FIXED_AT_BUILD">\r
+            <C_Name>PcdSpinLockTimeout</C_Name>\r
+            <Token>0x00000004</Token>\r
+            <DatumType>UINT32</DatumType>\r
+            <HiiEnable>false</HiiEnable>\r
+            <VpdEnable>false</VpdEnable>\r
+            <AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>\r
+            <SkuEnable>false</SkuEnable>\r
+            <SkuDataArrayEnable>false</SkuDataArrayEnable>\r
+            <MaxSku>0x00</MaxSku>\r
+            <SkuId>0x00</SkuId>\r
+            <DatumSize>4</DatumSize>\r
+            <VariableGuid>0</VariableGuid>\r
+            <VariableName>L""</VariableName>\r
+            <DataOffset>0</DataOffset>\r
+            <DefaultValue>10000000</DefaultValue>\r
+          </PcdBuildData>\r
+          <PcdBuildData ItemType="PATCHABLE_IN_MODULE">\r
+            <C_Name>PcdDebugPrintErrorLevel</C_Name>\r
+            <Token>0x00000006</Token>\r
+            <DatumType>UINT32</DatumType>\r
+            <HiiEnable>false</HiiEnable>\r
+            <VpdEnable>false</VpdEnable>\r
+            <AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>\r
+            <SkuEnable>false</SkuEnable>\r
+            <SkuDataArrayEnable>false</SkuDataArrayEnable>\r
+            <MaxSku>0x00</MaxSku>\r
+            <SkuId>0x00</SkuId>\r
+            <DatumSize>4</DatumSize>\r
+            <VariableGuid>0</VariableGuid>\r
+            <VariableName>L""</VariableName>\r
+            <DataOffset>0</DataOffset>\r
+            <DefaultValue>0x80000000</DefaultValue>\r
+          </PcdBuildData>\r
+          <PcdBuildData ItemType="FIXED_AT_BUILD">\r
+            <C_Name>PcdReportStatusCodePropertyMask</C_Name>\r
+            <Token>0x00000007</Token>\r
+            <DatumType>UINT8</DatumType>\r
+            <HiiEnable>false</HiiEnable>\r
+            <VpdEnable>false</VpdEnable>\r
+            <AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>\r
+            <SkuEnable>false</SkuEnable>\r
+            <SkuDataArrayEnable>false</SkuDataArrayEnable>\r
+            <MaxSku>0x00</MaxSku>\r
+            <SkuId>0x00</SkuId>\r
+            <DatumSize>1</DatumSize>\r
+            <VariableGuid>0</VariableGuid>\r
+            <VariableName>L""</VariableName>\r
+            <DataOffset>0</DataOffset>\r
+            <DefaultValue>0x07</DefaultValue>\r
+          </PcdBuildData>\r
+          <PcdBuildData ItemType="FIXED_AT_BUILD">\r
+            <C_Name>PcdMaximumLinkedListLength</C_Name>\r
+            <Token>0x00000003</Token>\r
+            <DatumType>UINT32</DatumType>\r
+            <HiiEnable>false</HiiEnable>\r
+            <VpdEnable>false</VpdEnable>\r
+            <AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>\r
+            <SkuEnable>false</SkuEnable>\r
+            <SkuDataArrayEnable>false</SkuDataArrayEnable>\r
+            <MaxSku>0x00</MaxSku>\r
+            <SkuId>0x00</SkuId>\r
+            <DatumSize>4</DatumSize>\r
+            <VariableGuid>0</VariableGuid>\r
+            <VariableName>L""</VariableName>\r
+            <DataOffset>0</DataOffset>\r
+            <DefaultValue>1000000</DefaultValue>\r
+          </PcdBuildData>\r
+          <PcdBuildData ItemType="FIXED_AT_BUILD">\r
+            <C_Name>PcdDebugClearMemoryValue</C_Name>\r
+            <Token>0x00000008</Token>\r
+            <DatumType>UINT8</DatumType>\r
+            <HiiEnable>false</HiiEnable>\r
+            <VpdEnable>false</VpdEnable>\r
+            <AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>\r
+            <SkuEnable>false</SkuEnable>\r
+            <SkuDataArrayEnable>false</SkuDataArrayEnable>\r
+            <MaxSku>0</MaxSku>\r
+            <SkuId>0</SkuId>\r
+            <DatumSize>1</DatumSize>\r
+            <VariableGuid>0</VariableGuid>\r
+            <VariableName>L""</VariableName>\r
+            <DataOffset>0</DataOffset>\r
+            <DefaultValue>0xAF</DefaultValue>\r
+          </PcdBuildData>           \r
+          <PcdBuildData ItemType="FIXED_AT_BUILD">\r
+            <C_Name>PcdMaxPeiPcdCallBackNumberPerPcdEntry</C_Name>\r
+            <Token>0x0001000f</Token>\r
+            <DatumType>UINT32</DatumType>\r
+            <HiiEnable>false</HiiEnable>\r
+            <VpdEnable>false</VpdEnable>\r
+            <AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>\r
+            <SkuEnable>false</SkuEnable>\r
+            <SkuDataArrayEnable>false</SkuDataArrayEnable>\r
+            <MaxSku>0</MaxSku>\r
+            <SkuId>0</SkuId>\r
+            <DatumSize>4</DatumSize>\r
+            <VariableGuid>0</VariableGuid>\r
+            <VariableName>L""</VariableName>\r
+            <DataOffset>0</DataOffset>\r
+            <DefaultValue>0x08</DefaultValue>\r
+          </PcdBuildData>           \r
+        </PcdBuildDeclarations>\r
+      </ModuleSA>      \r
       <ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="PeiVariable" >\r
         <PcdBuildDeclarations>\r
           <PcdBuildData ItemType="FIXED_AT_BUILD">\r
@@ -7426,6 +7619,40 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
       <GuidOffset>0</GuidOffset>\r
       <DefaultValue>0</DefaultValue>\r
     </PcdBuildData>\r
+    <PcdBuildData ItemType="FIXED_AT_BUILD">\r
+      <C_Name>PcdMaxPeiPcdCallBackNumberPerPcdEntry</C_Name>\r
+      <Token>0x0001000f</Token>\r
+      <DatumType>UINT32</DatumType>\r
+      <HiiEnable>false</HiiEnable>\r
+      <VpdEnable>false</VpdEnable>\r
+      <AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>\r
+      <SkuEnable>false</SkuEnable>\r
+      <SkuDataArrayEnable>false</SkuDataArrayEnable>\r
+      <MaxSku>0</MaxSku>\r
+      <SkuId>0</SkuId>\r
+      <DatumSize>4</DatumSize>\r
+      <VariableGuid>0</VariableGuid>\r
+      <VariableName>L""</VariableName>\r
+      <DataOffset>0</DataOffset>\r
+      <DefaultValue>0x08</DefaultValue>\r
+    </PcdBuildData>           \r
+    <PcdBuildData ItemType="FIXED_AT_BUILD">\r
+     <C_Name>PcdVpdBaseAddress</C_Name>\r
+        <Token>0x00010010</Token>\r
+        <DatumType>UINT32</DatumType>\r
+        <HiiEnable>false</HiiEnable>\r
+        <VpdEnable>false</VpdEnable>\r
+        <AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>\r
+        <SkuEnable>false</SkuEnable>\r
+        <SkuDataArrayEnable>false</SkuDataArrayEnable>\r
+        <MaxSku>0</MaxSku>\r
+        <SkuId>0</SkuId>\r
+        <DatumSize>4</DatumSize>\r
+        <VariableGuid>0</VariableGuid>\r
+        <VariableName>L""</VariableName>\r
+        <DataOffset>0</DataOffset>\r
+        <DefaultValue>0x10000000</DefaultValue>\r
+    </PcdBuildData>           \r
   </PcdBuildDeclarations>\r
   <BuildOptions>\r
     <OutputDirectory IntermediateDirectories="UNIFIED"/>\r
index bf77ad0..af3ec5f 100644 (file)
@@ -304,15 +304,15 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     <MsaFile>
       <Filename>Universal/Network/Snp32_64/Dxe/SNP.msa</Filename>
     </MsaFile>
-    <MsaFile>\r
-      <Filename>Universal/PCD/Pei/Pcd.msa</Filename>\r
-    </MsaFile>\r
-    <MsaFile>\r
-      <Filename>Universal/PCD/Test/PeiPcdTest.msa</Filename>\r
-    </MsaFile>\r
-    <MsaFile>\r
-      <Filename>Universal/PCD/Dxe/Pcd.msa</Filename>\r
-    </MsaFile>\r
+    <MsaFile>
+      <Filename>Universal/PCD/Pei/Pcd.msa</Filename>
+    </MsaFile>
+    <MsaFile>
+      <Filename>Universal/PCD/Test/PeiPcdTest.msa</Filename>
+    </MsaFile>
+    <MsaFile>
+      <Filename>Universal/PCD/Dxe/Pcd.msa</Filename>
+    </MsaFile>
     <MsaFile>
       <Filename>Universal/Runtime/RuntimeDxe/Runtime.msa</Filename>
     </MsaFile>
@@ -356,14 +356,14 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     <IncludeHeader ModuleType="UEFI_DRIVER">Include/EdkDxe.h</IncludeHeader>
   </PackageHeaders>
   <GuidDeclarations>
-    <Entry Name="PcdDataBaseHob">\r
-      <C_Name>gPcdDataBaseHobGuid</C_Name>\r
-      <Guid>0xea296d92, 0xb69,  0x423c, 0x8c, 0x28, 0x33, 0xb4, 0xe0, 0xa9, 0x12, 0x68</Guid>\r
-    </Entry>\r
-    <Entry Name="PcdPeiCallbackFnTable">\r
-      <C_Name>gPcdPeiCallbackFnTableHobGuid</C_Name>\r
-      <Guid>0xc625f4b2, 0xea09, 0x4675, 0x82, 0xd7, 0xba, 0x36, 0x82, 0x15, 0x7a, 0x14</Guid>\r
-    </Entry>\r
+    <Entry Name="PcdDataBaseHob">
+      <C_Name>gPcdDataBaseHobGuid</C_Name>
+      <Guid>0xea296d92, 0xb69,  0x423c, 0x8c, 0x28, 0x33, 0xb4, 0xe0, 0xa9, 0x12, 0x68</Guid>
+    </Entry>
+    <Entry Name="PcdPeiCallbackFnTable">
+      <C_Name>gPcdPeiCallbackFnTableHobGuid</C_Name>
+      <Guid>0xc625f4b2, 0xea09, 0x4675, 0x82, 0xd7, 0xba, 0x36, 0x82, 0x15, 0x7a, 0x14</Guid>
+    </Entry>
     <Entry Name="PeiPeCoffLoader">
       <C_Name>gEfiPeiPeCoffLoaderGuid</C_Name>
       <Guid>0xd8117cff, 0x94a6, 0x11d4, 0x9a, 0x3a, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d</Guid>
@@ -682,38 +682,48 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
       <DatumType>UINT8</DatumType>
       <DefaultValue>0</DefaultValue>
     </PcdEntry>
-    <PcdEntry ItemType="FIXED_AT_BUILD">\r
-      <C_Name>PcdMaxPcdCallBackNumber</C_Name>\r
-      <Token>0x0001000f</Token>\r
-      <DatumType>UINT32</DatumType>\r
-      <DefaultValue>0</DefaultValue>\r
-    </PcdEntry>    \r
-    <PcdEntry ItemType="DYNAMIC">\r
-      <C_Name>PcdTestDynamicUint8</C_Name>\r
-      <Token>0x00011000</Token>\r
-      <DatumType>UINT8</DatumType>\r
-      <DefaultValue>0x01</DefaultValue>\r
-    </PcdEntry>    \r
-    <PcdEntry ItemType="DYNAMIC">\r
-      <C_Name>PcdTestDynamicUint16</C_Name>\r
-      <Token>0x00011001</Token>\r
-      <DatumType>UINT16</DatumType>\r
-      <DefaultValue>0x1234</DefaultValue>\r
-    </PcdEntry>    \r
-    <PcdEntry ItemType="DYNAMIC">\r
-      <C_Name>PcdTestDynamicUint32</C_Name>\r
-      <Token>0x00011002</Token>\r
-      <DatumType>UINT32</DatumType>\r
-    </PcdEntry>    \r
-    <PcdEntry ItemType="DYNAMIC">\r
-      <C_Name>PcdTestDynamicUint64</C_Name>\r
-      <Token>0x00011003</Token>\r
-      <DatumType>UINT64</DatumType>\r
-    </PcdEntry>    \r
-    <PcdEntry ItemType="DYNAMIC">\r
-      <C_Name>PcdTestDynamicBoolean</C_Name>\r
-      <Token>0x00011004</Token>\r
-      <DatumType>BOOLEAN</DatumType>\r
-    </PcdEntry>    \r
+    <PcdEntry ItemType="FIXED_AT_BUILD">
+      <C_Name>PcdMaxPcdCallBackNumber</C_Name>
+      <Token>0x0001000f</Token>
+      <DatumType>UINT32</DatumType>
+      <DefaultValue>0</DefaultValue>
+    </PcdEntry>    
+    <PcdEntry ItemType="DYNAMIC">
+      <C_Name>PcdTestDynamicUint8</C_Name>
+      <Token>0x00011000</Token>
+      <DatumType>UINT8</DatumType>
+      <DefaultValue>0x01</DefaultValue>
+    </PcdEntry>    
+    <PcdEntry ItemType="DYNAMIC">
+      <C_Name>PcdTestDynamicUint16</C_Name>
+      <Token>0x00011001</Token>
+      <DatumType>UINT16</DatumType>
+      <DefaultValue>0x1234</DefaultValue>
+    </PcdEntry>    
+    <PcdEntry ItemType="DYNAMIC">
+      <C_Name>PcdTestDynamicUint32</C_Name>
+      <Token>0x00011002</Token>
+      <DatumType>UINT32</DatumType>
+    </PcdEntry>    
+    <PcdEntry ItemType="DYNAMIC">
+      <C_Name>PcdTestDynamicUint64</C_Name>
+      <Token>0x00011003</Token>
+      <DatumType>UINT64</DatumType>
+    </PcdEntry>    
+    <PcdEntry ItemType="DYNAMIC">
+      <C_Name>PcdTestDynamicBoolean</C_Name>
+      <Token>0x00011004</Token>
+      <DatumType>BOOLEAN</DatumType>
+    </PcdEntry>    
+    <PcdEntry ItemType="FIXED_AT_BUILD">
+      <C_Name>PcdMaxPeiPcdCallBackNumberPerPcdEntry</C_Name>
+      <Token>0x0001000f</Token>
+      <DatumType>UINT32</DatumType>
+    </PcdEntry>    
+    <PcdEntry ItemType="FIXED_AT_BUILD">
+      <C_Name>PcdVpdBaseAddress</C_Name>
+      <Token>0x00010010</Token>
+      <DatumType>UINT32</DatumType>
+    </PcdEntry>    
   </PcdDefinitions>
 </PackageSurfaceArea>
index 20fd4a1..5340ef5 100644 (file)
@@ -97,13 +97,15 @@ PcdDxeInit (
 }\r
 \r
 \r
-EFI_STATUS\r
+VOID\r
 EFIAPI\r
 DxePcdSetSku (\r
-  IN  UINTN        SkuId\r
+  IN  SKU_ID         SkuId\r
   )\r
 {\r
-  return gPcdDatabase->PeiDb.Init.SystemSkuId = (SKU_ID) SkuId;\r
+  gPcdDatabase->PeiDb.Init.SystemSkuId = SkuId;\r
+  \r
+  return;\r
 }\r
 \r
 \r
@@ -346,15 +348,11 @@ EFI_STATUS
 EFIAPI\r
 DxePcdSetPtr (\r
   IN UINTN              TokenNumber,\r
-  IN CONST VOID         *Value\r
+  IN UINTN              SizeOfBuffer,\r
+  IN VOID               *Buffer\r
   )\r
 {\r
-  //\r
-  // BugBug, please change the Size to Input size when sync with spec\r
-  //\r
-  //ASSERT (sizeof (Value) == DxePcdGetSize (TokenNumber));\r
-\r
-  return SetWorker (TokenNumber, (VOID *)Value, DxePcdGetSize (TokenNumber), TRUE);\r
+  return SetWorker (TokenNumber, Buffer, SizeOfBuffer, TRUE);\r
 }\r
 \r
 \r
@@ -450,16 +448,17 @@ DxePcdSet64Ex (
 EFI_STATUS\r
 EFIAPI\r
 DxePcdSetPtrEx (\r
-  IN CONST EFI_GUID        *Guid,\r
-  IN UINTN  ExTokenNumber,\r
-  IN CONST VOID        *Value\r
+  IN CONST EFI_GUID         *Guid,\r
+  IN UINTN                  ExTokenNumber,\r
+  IN UINTN                  SizeOfBuffer,\r
+  IN VOID                   *Buffer\r
   )\r
 {\r
   return          ExSetWorker(\r
                               ExTokenNumber, \r
                               Guid,\r
-                              (VOID *) Value\r
-                              sizeof (Value)\r
+                              Buffer\r
+                              SizeOfBuffer\r
                               TRUE\r
                               );\r
 }\r
index fd20871..d5918f2 100644 (file)
@@ -302,10 +302,10 @@ GetExPcdTokenAttributes (
 //\r
 // Protocol Interface function declaration.\r
 //\r
-EFI_STATUS\r
+VOID\r
 EFIAPI\r
 DxePcdSetSku (\r
-  IN  UINTN                  SkuId\r
+  IN  SKU_ID                  SkuId\r
   )\r
 ;\r
 \r
@@ -313,7 +313,7 @@ DxePcdSetSku (
 UINT8\r
 EFIAPI\r
 DxePcdGet8 (\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 ;\r
 \r
@@ -321,7 +321,7 @@ DxePcdGet8 (
 UINT16\r
 EFIAPI\r
 DxePcdGet16 (\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 ;\r
 \r
@@ -329,7 +329,7 @@ DxePcdGet16 (
 UINT32\r
 EFIAPI\r
 DxePcdGet32 (\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 ;\r
 \r
@@ -337,7 +337,7 @@ DxePcdGet32 (
 UINT64\r
 EFIAPI\r
 DxePcdGet64 (\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 ;\r
 \r
@@ -345,7 +345,7 @@ DxePcdGet64 (
 VOID *\r
 EFIAPI\r
 DxePcdGetPtr (\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 ;\r
 \r
@@ -353,7 +353,7 @@ DxePcdGetPtr (
 BOOLEAN\r
 EFIAPI\r
 DxePcdGetBool (\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 ;\r
 \r
@@ -361,7 +361,7 @@ DxePcdGetBool (
 UINTN\r
 EFIAPI\r
 DxePcdGetSize (\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 ;\r
 \r
@@ -370,7 +370,7 @@ UINT8
 EFIAPI\r
 DxePcdGet8Ex (\r
   IN CONST EFI_GUID        *Guid,\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 ;\r
 \r
@@ -379,7 +379,7 @@ UINT16
 EFIAPI\r
 DxePcdGet16Ex (\r
   IN CONST EFI_GUID        *Guid,\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 ;\r
 \r
@@ -388,7 +388,7 @@ UINT32
 EFIAPI\r
 DxePcdGet32Ex (\r
   IN CONST EFI_GUID        *Guid,\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 ;\r
 \r
@@ -398,7 +398,7 @@ UINT64
 EFIAPI\r
 DxePcdGet64Ex (\r
   IN CONST EFI_GUID        *Guid,\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 ;\r
 \r
@@ -408,7 +408,7 @@ VOID *
 EFIAPI\r
 DxePcdGetPtrEx (\r
   IN CONST EFI_GUID        *Guid,\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 ;\r
 \r
@@ -417,7 +417,7 @@ BOOLEAN
 EFIAPI\r
 DxePcdGetBoolEx (\r
   IN CONST EFI_GUID        *Guid,\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 ;\r
 \r
@@ -426,7 +426,7 @@ UINTN
 EFIAPI\r
 DxePcdGetSizeEx (\r
   IN CONST EFI_GUID        *Guid,\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 ;\r
 \r
@@ -434,7 +434,7 @@ DxePcdGetSizeEx (
 EFI_STATUS\r
 EFIAPI\r
 DxePcdSet8 (\r
-  IN UINTN  TokenNumber,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
   IN UINT8             Value\r
   )\r
 ;\r
@@ -443,7 +443,7 @@ DxePcdSet8 (
 EFI_STATUS\r
 EFIAPI\r
 DxePcdSet16 (\r
-  IN UINTN  TokenNumber,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
   IN UINT16             Value\r
   )\r
 ;\r
@@ -452,7 +452,7 @@ DxePcdSet16 (
 EFI_STATUS\r
 EFIAPI\r
 DxePcdSet32 (\r
-  IN UINTN  TokenNumber,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
   IN UINT32             Value\r
   )\r
 ;\r
@@ -461,7 +461,7 @@ DxePcdSet32 (
 EFI_STATUS\r
 EFIAPI\r
 DxePcdSet64 (\r
-  IN UINTN  TokenNumber,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
   IN UINT64            Value\r
   )\r
 ;\r
@@ -470,8 +470,9 @@ DxePcdSet64 (
 EFI_STATUS\r
 EFIAPI\r
 DxePcdSetPtr (\r
-  IN UINTN  TokenNumber,\r
-  IN CONST VOID        *Value\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
+  IN UINTN             SizeOfBuffer,\r
+  IN VOID              *Buffer\r
   )\r
 ;\r
 \r
@@ -479,7 +480,7 @@ DxePcdSetPtr (
 EFI_STATUS\r
 EFIAPI\r
 DxePcdSetBool (\r
-  IN UINTN  TokenNumber,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
   IN BOOLEAN           Value\r
   )\r
 ;\r
@@ -489,7 +490,7 @@ EFI_STATUS
 EFIAPI\r
 DxePcdSet8Ex (\r
   IN CONST EFI_GUID        *Guid,\r
-  IN UINTN  TokenNumber,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
   IN UINT8             Value\r
   )\r
 ;\r
@@ -499,7 +500,7 @@ EFI_STATUS
 EFIAPI\r
 DxePcdSet16Ex (\r
   IN CONST EFI_GUID        *Guid,\r
-  IN UINTN  TokenNumber,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
   IN UINT16            Value\r
   )\r
 ;\r
@@ -509,7 +510,7 @@ EFI_STATUS
 EFIAPI\r
 DxePcdSet32Ex (\r
   IN CONST EFI_GUID        *Guid,\r
-  IN UINTN  TokenNumber,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
   IN UINT32             Value\r
   )\r
 ;\r
@@ -519,7 +520,7 @@ EFI_STATUS
 EFIAPI\r
 DxePcdSet64Ex (\r
   IN CONST EFI_GUID        *Guid,\r
-  IN UINTN  TokenNumber,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
   IN UINT64            Value\r
   )\r
 ;\r
@@ -528,9 +529,10 @@ DxePcdSet64Ex (
 EFI_STATUS\r
 EFIAPI\r
 DxePcdSetPtrEx (\r
-  IN CONST EFI_GUID        *Guid,\r
-  IN UINTN  TokenNumber,\r
-  IN CONST VOID        *Value\r
+  IN CONST EFI_GUID    *Guid,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
+  IN UINTN             SizeOfBuffer,\r
+  IN VOID              *Buffer\r
   )\r
 ;\r
 \r
@@ -539,7 +541,7 @@ EFI_STATUS
 EFIAPI\r
 DxePcdSetBoolEx (\r
   IN CONST EFI_GUID        *Guid,\r
-  IN UINTN  TokenNumber,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
   IN BOOLEAN           Value\r
   )\r
 ;\r
@@ -549,7 +551,7 @@ DxePcdSetBoolEx (
 EFI_STATUS\r
 EFIAPI\r
 PcdRegisterCallBackOnSet (\r
-  IN  UINTN        TokenNumber,\r
+  IN  PCD_TOKEN_NUMBER        TokenNumber,\r
   IN  CONST EFI_GUID              *Guid, OPTIONAL\r
   IN  PCD_PROTOCOL_CALLBACK   CallBackFunction\r
   )\r
@@ -559,8 +561,8 @@ PcdRegisterCallBackOnSet (
 EFI_STATUS\r
 EFIAPI\r
 PcdUnRegisterCallBackOnSet (\r
-  IN  UINTN        TokenNumber,\r
-  IN  CONST EFI_GUID              *Guid, OPTIONAL\r
+  IN  PCD_TOKEN_NUMBER        TokenNumber,\r
+  IN  CONST EFI_GUID          *Guid, OPTIONAL\r
   IN  PCD_PROTOCOL_CALLBACK   CallBackFunction\r
   )\r
 ;\r
@@ -570,7 +572,7 @@ EFI_STATUS
 EFIAPI\r
 DxePcdGetNextToken (\r
   IN CONST EFI_GUID               *Guid, OPTIONAL\r
-  IN OUT  UINTN    *TokenNumber\r
+  IN OUT   PCD_TOKEN_NUMBER       *TokenNumber\r
   )\r
 ;\r
 \r
index 2663be1..974095f 100644 (file)
@@ -83,16 +83,16 @@ PcdPeimInit (
   return EFI_SUCCESS;\r
 }\r
 \r
-EFI_STATUS\r
+VOID\r
 EFIAPI\r
 PeiPcdSetSku (\r
-  IN  UINTN                  SkuId\r
+  IN  SKU_ID                  SkuId\r
   )\r
 {\r
 \r
-  GetPcdDatabase()->Init.SystemSkuId = (SKU_ID) SkuId;\r
+  GetPcdDatabase()->Init.SystemSkuId = SkuId;\r
 \r
-  return  EFI_SUCCESS;\r
+  return;\r
 }\r
 \r
 \r
@@ -100,7 +100,7 @@ PeiPcdSetSku (
 UINT8\r
 EFIAPI\r
 PeiPcdGet8 (\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 {\r
   return *((UINT8 *) GetWorker (TokenNumber, sizeof (UINT8)));\r
@@ -111,7 +111,7 @@ PeiPcdGet8 (
 UINT16\r
 EFIAPI\r
 PeiPcdGet16 (\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 {\r
   return ReadUnaligned16 (GetWorker (TokenNumber, sizeof (UINT16)));\r
@@ -122,7 +122,7 @@ PeiPcdGet16 (
 UINT32\r
 EFIAPI\r
 PeiPcdGet32 (\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 {\r
   return ReadUnaligned32 (GetWorker (TokenNumber, sizeof (UINT32)));\r
@@ -133,7 +133,7 @@ PeiPcdGet32 (
 UINT64\r
 EFIAPI\r
 PeiPcdGet64 (\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 {\r
   return ReadUnaligned64 (GetWorker (TokenNumber, sizeof (UINT64)));\r
@@ -144,7 +144,7 @@ PeiPcdGet64 (
 VOID *\r
 EFIAPI\r
 PeiPcdGetPtr (\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 {\r
   return GetWorker (TokenNumber, 0);\r
@@ -155,7 +155,7 @@ PeiPcdGetPtr (
 BOOLEAN\r
 EFIAPI\r
 PeiPcdGetBool (\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 {\r
   return *((BOOLEAN *) GetWorker (TokenNumber, sizeof (BOOLEAN)));\r
@@ -166,7 +166,7 @@ PeiPcdGetBool (
 UINTN\r
 EFIAPI\r
 PeiPcdGetSize (\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 {\r
   ASSERT (TokenNumber < PEI_LOCAL_TOKEN_NUMBER);\r
@@ -180,7 +180,7 @@ UINT8
 EFIAPI\r
 PeiPcdGet8Ex (\r
   IN CONST EFI_GUID        *Guid,\r
-  IN UINTN  ExTokenNumber\r
+  IN PCD_TOKEN_NUMBER  ExTokenNumber\r
   )\r
 {\r
   return *((UINT8 *) ExGetWorker (Guid, ExTokenNumber, sizeof (UINT8)));\r
@@ -192,7 +192,7 @@ UINT16
 EFIAPI\r
 PeiPcdGet16Ex (\r
   IN CONST EFI_GUID        *Guid,\r
-  IN UINTN  ExTokenNumber\r
+  IN PCD_TOKEN_NUMBER  ExTokenNumber\r
   )\r
 {\r
   return ReadUnaligned16 (ExGetWorker (Guid, ExTokenNumber, sizeof (UINT16)));\r
@@ -204,7 +204,7 @@ UINT32
 EFIAPI\r
 PeiPcdGet32Ex (\r
   IN CONST EFI_GUID        *Guid,\r
-  IN UINTN  ExTokenNumber\r
+  IN PCD_TOKEN_NUMBER  ExTokenNumber\r
   )\r
 {\r
   return ReadUnaligned32 (ExGetWorker (Guid, ExTokenNumber, sizeof (UINT32)));\r
@@ -216,7 +216,7 @@ UINT64
 EFIAPI\r
 PeiPcdGet64Ex (\r
   IN CONST EFI_GUID        *Guid,\r
-  IN UINTN  ExTokenNumber\r
+  IN PCD_TOKEN_NUMBER  ExTokenNumber\r
   )\r
 {\r
   return ReadUnaligned64 (ExGetWorker (Guid, ExTokenNumber, sizeof (UINT64)));\r
@@ -228,7 +228,7 @@ VOID *
 EFIAPI\r
 PeiPcdGetPtrEx (\r
   IN CONST EFI_GUID        *Guid,\r
-  IN UINTN  ExTokenNumber\r
+  IN PCD_TOKEN_NUMBER  ExTokenNumber\r
   )\r
 {\r
   return ExGetWorker (Guid, ExTokenNumber, 0);\r
@@ -240,7 +240,7 @@ BOOLEAN
 EFIAPI\r
 PeiPcdGetBoolEx (\r
   IN CONST  EFI_GUID        *Guid,\r
-  IN UINTN                  ExTokenNumber\r
+  IN PCD_TOKEN_NUMBER                  ExTokenNumber\r
   )\r
 {\r
   return *((BOOLEAN *) ExGetWorker (Guid, ExTokenNumber, sizeof (BOOLEAN)));\r
@@ -252,7 +252,7 @@ UINTN
 EFIAPI\r
 PeiPcdGetSizeEx (\r
   IN CONST  EFI_GUID        *Guid,\r
-  IN UINTN                  ExTokenNumber\r
+  IN PCD_TOKEN_NUMBER                  ExTokenNumber\r
   )\r
 {\r
   EX_PCD_ENTRY_ATTRIBUTE      Attr;\r
@@ -267,7 +267,7 @@ PeiPcdGetSizeEx (
 EFI_STATUS\r
 EFIAPI\r
 PeiPcdSet8 (\r
-  IN UINTN             TokenNumber,\r
+  IN PCD_TOKEN_NUMBER             TokenNumber,\r
   IN UINT8             Value\r
   )\r
 {\r
@@ -279,7 +279,7 @@ PeiPcdSet8 (
 EFI_STATUS\r
 EFIAPI\r
 PeiPcdSet16 (\r
-  IN UINTN              TokenNumber,\r
+  IN PCD_TOKEN_NUMBER              TokenNumber,\r
   IN UINT16             Value\r
   )\r
 {\r
@@ -291,7 +291,7 @@ PeiPcdSet16 (
 EFI_STATUS\r
 EFIAPI\r
 PeiPcdSet32 (\r
-  IN UINTN              TokenNumber,\r
+  IN PCD_TOKEN_NUMBER              TokenNumber,\r
   IN UINT32             Value\r
   )\r
 {\r
@@ -303,7 +303,7 @@ PeiPcdSet32 (
 EFI_STATUS\r
 EFIAPI\r
 PeiPcdSet64 (\r
-  IN UINTN              TokenNumber,\r
+  IN PCD_TOKEN_NUMBER              TokenNumber,\r
   IN UINT64             Value\r
   )\r
 {\r
@@ -314,16 +314,12 @@ PeiPcdSet64 (
 EFI_STATUS\r
 EFIAPI\r
 PeiPcdSetPtr (\r
-  IN UINTN              TokenNumber,\r
-  IN CONST VOID         *Value\r
+  IN PCD_TOKEN_NUMBER              TokenNumber,\r
+  IN UINTN                         SizeOfBuffer,\r
+  IN VOID                          *Buffer\r
   )\r
 {\r
-  //\r
-  // BugBug, please change the Size to Input size when sync with spec\r
-  //\r
-  //ASSERT (sizeof (Value) == GetPcdDatabase()->Init.SizeTable[TokenNumber]);\r
-\r
-  return SetWorker (TokenNumber, (VOID *) Value, GetPcdDatabase()->Init.SizeTable[TokenNumber], TRUE);\r
+  return SetWorker (TokenNumber, Buffer, SizeOfBuffer, TRUE);\r
 }\r
 \r
 \r
@@ -331,7 +327,7 @@ PeiPcdSetPtr (
 EFI_STATUS\r
 EFIAPI\r
 PeiPcdSetBool (\r
-  IN UINTN              TokenNumber,\r
+  IN PCD_TOKEN_NUMBER              TokenNumber,\r
   IN BOOLEAN            Value\r
   )\r
 {\r
@@ -344,7 +340,7 @@ EFI_STATUS
 EFIAPI\r
 PeiPcdSet8Ex (\r
   IN CONST EFI_GUID         *Guid,\r
-  IN UINTN                  ExTokenNumber,\r
+  IN PCD_TOKEN_NUMBER       ExTokenNumber,\r
   IN UINT8                  Value\r
   )\r
 {\r
@@ -363,7 +359,7 @@ EFI_STATUS
 EFIAPI\r
 PeiPcdSet16Ex (\r
   IN CONST EFI_GUID         *Guid,\r
-  IN UINTN                  ExTokenNumber,\r
+  IN PCD_TOKEN_NUMBER       ExTokenNumber,\r
   IN UINT16                 Value\r
   )\r
 {\r
@@ -382,7 +378,7 @@ EFI_STATUS
 EFIAPI\r
 PeiPcdSet32Ex (\r
   IN CONST EFI_GUID         *Guid,\r
-  IN UINTN                  ExTokenNumber,\r
+  IN PCD_TOKEN_NUMBER       ExTokenNumber,\r
   IN UINT32                 Value\r
   )\r
 {\r
@@ -401,7 +397,7 @@ EFI_STATUS
 EFIAPI\r
 PeiPcdSet64Ex (\r
   IN CONST EFI_GUID         *Guid,\r
-  IN UINTN                  ExTokenNumber,\r
+  IN PCD_TOKEN_NUMBER       ExTokenNumber,\r
   IN UINT64                 Value\r
   )\r
 {\r
@@ -420,15 +416,16 @@ EFI_STATUS
 EFIAPI\r
 PeiPcdSetPtrEx (\r
   IN CONST EFI_GUID         *Guid,\r
-  IN UINTN                  ExTokenNumber,\r
-  IN CONST VOID             *Value\r
+  IN PCD_TOKEN_NUMBER       ExTokenNumber,\r
+  IN UINTN                  SizeOfBuffer,\r
+  IN VOID                   *Value\r
   )\r
 {\r
   return          ExSetWorker(\r
                               ExTokenNumber, \r
                               Guid,\r
-                              (VOID *) Value, \r
-                              sizeof (Value)\r
+                              Value, \r
+                              SizeOfBuffer\r
                               TRUE\r
                               );\r
 }\r
@@ -439,7 +436,7 @@ EFI_STATUS
 EFIAPI\r
 PeiPcdSetBoolEx (\r
   IN CONST EFI_GUID       *Guid,\r
-  IN UINTN                ExTokenNumber,\r
+  IN PCD_TOKEN_NUMBER     ExTokenNumber,\r
   IN BOOLEAN              Value\r
   )\r
 {\r
@@ -458,7 +455,7 @@ PeiPcdSetBoolEx (
 EFI_STATUS\r
 EFIAPI\r
 PcdRegisterCallBackOnSet (\r
-  IN  UINTN                       ExTokenNumber,\r
+  IN  PCD_TOKEN_NUMBER            ExTokenNumber,\r
   IN  CONST EFI_GUID              *Guid, OPTIONAL\r
   IN  PCD_PPI_CALLBACK            CallBackFunction\r
   )\r
@@ -471,7 +468,7 @@ PcdRegisterCallBackOnSet (
 EFI_STATUS\r
 EFIAPI\r
 PcdUnRegisterCallBackOnSet (\r
-  IN  UINTN                       ExTokenNumber,\r
+  IN  PCD_TOKEN_NUMBER            ExTokenNumber,\r
   IN  CONST EFI_GUID              *Guid, OPTIONAL\r
   IN  PCD_PPI_CALLBACK            CallBackFunction\r
   )\r
@@ -485,22 +482,138 @@ EFI_STATUS
 EFIAPI\r
 PeiPcdGetNextToken (\r
   IN CONST EFI_GUID               *Guid, OPTIONAL\r
-  IN OUT  UINTN                   *TokenNumber\r
+  IN OUT  PCD_TOKEN_NUMBER                   *TokenNumber\r
   )\r
 {\r
+  UINTN               GuidTableIdx;\r
+  PEI_PCD_DATABASE    *PeiPcdDb;\r
+  EFI_GUID            *MatchGuid;\r
+  DYNAMICEX_MAPPING   *ExMapTable;\r
+  UINTN               i;\r
+  BOOLEAN             Found;\r
+    \r
   if (Guid == NULL) {\r
     *TokenNumber++;\r
 \r
-    if (*TokenNumber >= PEI_LOCAL_TOKEN_NUMBER) {\r
+    if (*TokenNumber >= PEI_NEX_TOKEN_NUMBER) {\r
       *TokenNumber = 0;\r
     }\r
+    \r
+  } else {\r
+\r
+    if (PEI_EXMAP_TABLE_EMPTY) {\r
+      *TokenNumber = (UINTN) PCD_INVALID_TOKEN_NUMBER;\r
+      return EFI_NOT_FOUND;\r
+    }\r
+    \r
+    //\r
+    // Assume PCD Database AutoGen tool is sorting the ExMap based on the following order\r
+    // 1) ExGuid\r
+    // 2) ExTokenNumber\r
+    //\r
+    PeiPcdDb = GetPcdDatabase ();\r
+    \r
+    MatchGuid = ScanGuid (PeiPcdDb->Init.GuidTable, sizeof(PeiPcdDb->Init.GuidTable), Guid);\r
+\r
+    if (MatchGuid == NULL) {\r
+      *TokenNumber = (UINTN) PCD_INVALID_TOKEN_NUMBER;\r
+      return EFI_NOT_FOUND;\r
+    }\r
+\r
+    GuidTableIdx = MatchGuid - PeiPcdDb->Init.GuidTable;\r
+\r
+    ExMapTable = PeiPcdDb->Init.ExMapTable;\r
+\r
+    Found = FALSE;\r
+    for (i = 0; i < PEI_EXMAPPING_TABLE_SIZE; i++) {\r
+      if (ExMapTable[i].ExGuidIndex == GuidTableIdx) {\r
+        Found = TRUE;\r
+        break;\r
+      }\r
+    }\r
+\r
+    if (Found) {\r
+      if (*TokenNumber == PCD_INVALID_TOKEN_NUMBER) {\r
+        *TokenNumber = ExMapTable[i].ExTokenNumber;\r
+         return EFI_SUCCESS;\r
+      }\r
+      \r
+      for ( ; ExMapTable[i].ExGuidIndex == GuidTableIdx; i++) {\r
+        if (ExMapTable[i].ExTokenNumber == *TokenNumber) {\r
+          i++;\r
+          if (ExMapTable[i].ExGuidIndex == GuidTableIdx) {\r
+            *TokenNumber = ExMapTable[i].ExTokenNumber;\r
+            return EFI_SUCCESS;\r
+          } else {\r
+            *TokenNumber = (UINTN) PCD_INVALID_TOKEN_NUMBER;\r
+            return EFI_SUCCESS;\r
+          }\r
+        }\r
+      }\r
+\r
+      return EFI_NOT_FOUND;\r
+    }\r
+    \r
+  }\r
+\r
+  return EFI_SUCCESS;\r
+}\r
+\r
+EFI_GUID *\r
+EFIAPI\r
+PeiPcdGetNextTokenSpaceGuid (\r
+  IN CONST EFI_GUID               *Guid\r
+  )\r
+{\r
+  UINTN               GuidTableIdx;\r
+  EFI_GUID            *MatchGuid;\r
+  PEI_PCD_DATABASE    *PeiPcdDb;\r
+  DYNAMICEX_MAPPING   *ExMapTable;\r
+  UINTN               i;\r
+  BOOLEAN             Found;\r
+\r
+  if (PEI_EXMAP_TABLE_EMPTY) {\r
+    return NULL;\r
   }\r
 \r
   //\r
-  // BugBug: Haven't implemented the portion to get Next Token for GuidSpace is not Local GuidSpace.\r
+  // Assume PCD Database AutoGen tool is sorting the ExMap based on the following order\r
+  // 1) ExGuid\r
+  // 2) ExTokenNumber\r
   //\r
+  PeiPcdDb = GetPcdDatabase ();\r
 \r
-  return EFI_SUCCESS;\r
-}\r
+  MatchGuid = ScanGuid (PeiPcdDb->Init.GuidTable, sizeof(PeiPcdDb->Init.GuidTable), Guid);\r
+\r
+  if (MatchGuid == NULL) {\r
+    return NULL;\r
+  }\r
+  \r
+  GuidTableIdx = MatchGuid - PeiPcdDb->Init.GuidTable;\r
 \r
+  ExMapTable = PeiPcdDb->Init.ExMapTable;\r
+\r
+  Found = FALSE;\r
+  for (i = 0; i < PEI_EXMAPPING_TABLE_SIZE; i++) {\r
+    if (ExMapTable[i].ExGuidIndex == GuidTableIdx) {\r
+      Found = TRUE;\r
+      break;\r
+    }\r
+  }\r
+\r
+  if (Found) {\r
+    for ( ; i < PEI_EXMAPPING_TABLE_SIZE; i++ ) {\r
+      if (ExMapTable[i].ExGuidIndex != GuidTableIdx ) {\r
+        if (i < PEI_EXMAPPING_TABLE_SIZE) {\r
+          return &PeiPcdDb->Init.GuidTable[ExMapTable[i].ExGuidIndex];\r
+        } else {\r
+          return NULL;\r
+        }\r
+      }\r
+    }\r
+  }\r
+\r
+  return NULL;\r
+\r
+}\r
 \r
index 052ff9e..54d1250 100644 (file)
@@ -17,18 +17,6 @@ Module Name: Service.c
 #include "Service.h"\r
 \r
 \r
-//\r
-// Build Tool will generate PEI_PCD_DB_INIT_VALUE in Autogen.h\r
-//\r
-/* PEI_PCD_DATABASE_INIT\r
-gPEIPcdDbInit = {\r
-  PEI_PCD_DB_INIT_VALUE\r
-};\r
-*/\r
-\r
-\r
-\r
-\r
 /**\r
   The function registers the CallBackOnSet fucntion\r
   according to TokenNumber and EFI_GUID space.\r
@@ -59,7 +47,7 @@ PeiRegisterCallBackWorker (
 \r
   if (Guid == NULL) {\r
     TokenNumber = ExTokenNumber;\r
-    ASSERT (TokenNumber < PEI_LOCAL_TOKEN_NUMBER);\r
+    ASSERT (TokenNumber < PEI_NEX_TOKEN_NUMBER);\r
     LocalTokenNumber = GetPcdDatabase()->Init.LocalTokenNumberTable[TokenNumber];\r
   } else {\r
     GetExPcdTokenAttributes (Guid, ExTokenNumber, &Attr);\r
@@ -173,8 +161,6 @@ GetHiiVariable (
   Status = PeiCoreAllocatePool (Size, &Buffer);\r
   ASSERT_EFI_ERROR (Status);\r
 \r
-  // declare a local for STP.\r
-  //\r
   Status = VariablePpi->PeiGetVariable (\r
                             GetPeiServicesTablePointer (),\r
                             (UINT16 *) VariableName,\r
@@ -227,7 +213,7 @@ GetSkuEnabledTokenNumber (
       Value += sizeof(VARIABLE_HEAD) * i;\r
       return ((Value - (UINT8 *) PeiPcdDb) | PCD_TYPE_HII);\r
       \r
-    case 0: //Change to a MACRO PCD_TYPE_DATA\r
+    case PCD_TYPE_DATA:\r
       Value += Size * i;\r
       return (Value - (UINT8 *) PeiPcdDb);\r
       \r
index 647a006..0059b23 100644 (file)
@@ -18,149 +18,6 @@ Module Name: Service.h
 #ifndef _SERVICE_H\r
 #define _SERVICE_H\r
 \r
-#define USE_AUTOGEN\r
-\r
-#ifndef USE_AUTOGEN\r
-//\r
-// The following definition will be generated by build tool \r
-//\r
-\r
-//\r
-// Common definitions that is shared by PEI and DXE PCD database\r
-//\r
-#define PCD_TYPE_SHIFT        24\r
-\r
-\r
-#define PCD_TYPE_DATA         (0x00 << PCD_TYPE_SHIFT)\r
-#define PCD_TYPE_HII               (0x80 << PCD_TYPE_SHIFT)\r
-#define PCD_TYPE_VPD               (0x40 << PCD_TYPE_SHIFT)\r
-#define PCD_TYPE_SKU_ENABLED   (0x20 << PCD_TYPE_SHIFT)\r
-\r
-\r
-#define PCD_DATABASE_OFFSET_MASK (~(PCD_TYPE_HII | PCD_TYPE_VPD | PCD_TYPE_SKU_ENABLED))\r
-\r
-typedef struct  {\r
-  UINT32                ExTokenNumber;\r
-  UINT32                LocalTokenNumber;         // PCD Number of this particular platform build\r
-  UINT16                ExGuidIndex;              // Index of GuidTable\r
-} DYNAMICEX_MAPPING;\r
-\r
-\r
-typedef struct {\r
-  UINT32  SkuDataStartOffset; //We have to use offsetof MACRO as we don't know padding done by compiler\r
-  UINT32  SkuIdTableOffset;   //Offset from the PCD_DB\r
-} SKU_HEAD;\r
-\r
-\r
-typedef struct {\r
-  UINT16  GuidTableIndex;   // Offset in Guid Table in units of GUID.\r
-  UINT16  StringIndex;      // Offset in String Table in units of UINT16.\r
-  UINT16  Offset;           // Offset in Variable\r
-} VARIABLE_HEAD  ;\r
-\r
-\r
-typedef  struct {\r
-  UINT32  Offset;\r
-} VPD_HEAD;\r
-\r
-typedef struct {\r
-  UINT32 LocalTokenNumber;\r
-  UINT16 TokenNumber;\r
-  UINT16 Size;\r
-} SIZEINFO;\r
-\r
-#define offsetof(s,m)             (UINT32)&(((s *)0)->m)\r
-\r
-\r
-\r
-\r
-\r
-//\r
-// C Structure generate for PEI PCD Database\r
-//\r
-#define PEI_EXMAPPING_TABLE_SIZE  1\r
-#define PEI_GUID_TABLE_SIZE         1\r
-#define PEI_LOCAL_TOKEN_NUMBER            1\r
-#define PEI_STRING_TABLE_SIZE        2\r
-#define PEI_SKUID_TABLE_SIZE         3\r
-\r
-\r
-#define PEI_DATABASE_EMPTRY          FALSE\r
-#define PEI_EXMAP_TABLE_EMPTY        FALSE\r
-#define PEI_GUID_TABLE_EMPTY         FALSE\r
-#define PEI_STRINGTABLE_EMPTY        FALSE\r
-#define PEI_SIZETABLE_EMPTY          FALSE\r
-#define PEI_SKUID_TABLE_EMPTY        FALSE\r
-\r
-\r
-typedef struct {\r
-\r
-  DYNAMICEX_MAPPING ExMapTable[PEI_EXMAPPING_TABLE_SIZE];\r
-  EFI_GUID          GuidTable[PEI_GUID_TABLE_SIZE];\r
-\r
-  UINT32            LocalTokenNumberTable[PEI_LOCAL_TOKEN_NUMBER];\r
-\r
-\r
-  UINT16            StringTable[PEI_STRING_TABLE_SIZE];\r
-  UINT16            SizeTable[PEI_LOCAL_TOKEN_NUMBER];\r
-\r
-  UINT8             SkuIdTable[PEI_SKUID_TABLE_SIZE];\r
-  \r
-  SKU_ID            SystemSkuId;\r
-\r
-} PEI_PCD_DATABASE_INIT;\r
-\r
-typedef struct {\r
-  UINT8 Dummy;\r
-} PEI_PCD_DATABASE_UNINIT;\r
-\r
-#define PEI_PCD_DB_INIT_VALUE \\r
-    /* ExMapTable */ \\r
-  { \\r
-    { /* ExTokenNumber */ 0x00000001, /* LocalTokenNumberIndex */ 0, /* ExGuidIndex */ 0} \\r
-  }, \\r
-  \\r
-  /* GuidTable */ \\r
-  { \\r
-    { 0xBB25CF6F, 0xF1D4, 0x11D2, {0x9A, 0x0C, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0xFD }} \\r
-  }, \\r
-  \\r
-  /* LocalTokenNumberTable */ \\r
-  { \\r
-    0 \\r
-  }, \\r
-  \\r
-  /* StringTable */ \\r
-  { \\r
-    L"\0" \\r
-  }, \\r
-  \\r
-  /* SizeTable */ \\r
-  { \\r
-    4 \\r
-  }, \\r
-  \\r
-  /* SkuIdTable */ \\r
-  { \\r
-    /*MaxSku*/ 2, /*SkuId*/ 100, /*SkuId*/200   \\r
-  },\\r
-  \\r
-  /* SystemSkuId */ \\r
-  0 \\r
-\r
-\r
-//\r
-// End of Autogen Code\r
-//\r
-#endif\r
-\r
-/*\r
-typedef struct {\r
-  PEI_PCD_DATABASE_INIT Init;\r
-  PEI_PCD_DATABASE_UNINIT Uninit;\r
-} PEI_PCD_DATABASE;\r
-*/\r
-\r
 /* Internal Function definitions */\r
 \r
 PEI_PCD_DATABASE *\r
@@ -228,10 +85,10 @@ GetExPcdTokenAttributes (
 \r
 EFI_STATUS\r
 PeiRegisterCallBackWorker (\r
-  IN  UINTN        TokenNumber,\r
-  IN  CONST GUID              *Guid, OPTIONAL\r
+  IN  UINTN              TokenNumber,\r
+  IN  CONST GUID         *Guid, OPTIONAL\r
   IN  PCD_PPI_CALLBACK   CallBackFunction,\r
-  IN  BOOLEAN                 Register\r
+  IN  BOOLEAN            Register\r
 );\r
 \r
 VOID\r
@@ -241,15 +98,13 @@ BuildPcdDatabase (
 ;\r
 \r
 \r
-extern EFI_GUID gPcdImageFileGuid;\r
-\r
 //\r
 // PPI Interface Implementation Declaration.\r
 //\r
-EFI_STATUS\r
+VOID\r
 EFIAPI\r
 PeiPcdSetSku (\r
-  IN  UINTN                  SkuId\r
+  IN  SKU_ID                  SkuId\r
   )\r
 ;\r
 \r
@@ -257,7 +112,7 @@ PeiPcdSetSku (
 UINT8\r
 EFIAPI\r
 PeiPcdGet8 (\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 ;\r
 \r
@@ -265,7 +120,7 @@ PeiPcdGet8 (
 UINT16\r
 EFIAPI\r
 PeiPcdGet16 (\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 ;\r
 \r
@@ -273,7 +128,7 @@ PeiPcdGet16 (
 UINT32\r
 EFIAPI\r
 PeiPcdGet32 (\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 ;\r
 \r
@@ -281,7 +136,7 @@ PeiPcdGet32 (
 UINT64\r
 EFIAPI\r
 PeiPcdGet64 (\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 ;\r
 \r
@@ -289,7 +144,7 @@ PeiPcdGet64 (
 VOID *\r
 EFIAPI\r
 PeiPcdGetPtr (\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 ;\r
 \r
@@ -297,7 +152,7 @@ PeiPcdGetPtr (
 BOOLEAN\r
 EFIAPI\r
 PeiPcdGetBool (\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 ;\r
 \r
@@ -305,7 +160,7 @@ PeiPcdGetBool (
 UINTN\r
 EFIAPI\r
 PeiPcdGetSize (\r
-  IN UINTN  TokenNumber\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 ;\r
 \r
@@ -313,8 +168,8 @@ PeiPcdGetSize (
 UINT8\r
 EFIAPI\r
 PeiPcdGet8Ex (\r
-  IN CONST EFI_GUID        *Guid,\r
-  IN UINTN  TokenNumber\r
+  IN CONST EFI_GUID    *Guid,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 ;\r
 \r
@@ -322,16 +177,16 @@ PeiPcdGet8Ex (
 UINT16\r
 EFIAPI\r
 PeiPcdGet16Ex (\r
-  IN CONST EFI_GUID        *Guid,\r
-  IN UINTN  TokenNumber\r
+  IN CONST EFI_GUID    *Guid,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 ;\r
 \r
 UINT32\r
 EFIAPI\r
 PeiPcdGet32Ex (\r
-  IN CONST EFI_GUID        *Guid,\r
-  IN UINTN  TokenNumber\r
+  IN CONST EFI_GUID    *Guid,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 ;\r
 \r
@@ -339,8 +194,8 @@ PeiPcdGet32Ex (
 UINT64\r
 EFIAPI\r
 PeiPcdGet64Ex (\r
-  IN CONST EFI_GUID        *Guid,\r
-  IN UINTN  TokenNumber\r
+  IN CONST EFI_GUID    *Guid,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 ;\r
 \r
@@ -348,8 +203,8 @@ PeiPcdGet64Ex (
 VOID *\r
 EFIAPI\r
 PeiPcdGetPtrEx (\r
-  IN CONST EFI_GUID        *Guid,\r
-  IN UINTN  TokenNumber\r
+  IN CONST EFI_GUID    *Guid,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 ;\r
 \r
@@ -357,8 +212,8 @@ PeiPcdGetPtrEx (
 BOOLEAN\r
 EFIAPI\r
 PeiPcdGetBoolEx (\r
-  IN CONST EFI_GUID        *Guid,\r
-  IN UINTN  TokenNumber\r
+  IN CONST EFI_GUID    *Guid,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 ;\r
 \r
@@ -366,8 +221,8 @@ PeiPcdGetBoolEx (
 UINTN\r
 EFIAPI\r
 PeiPcdGetSizeEx (\r
-  IN CONST EFI_GUID        *Guid,\r
-  IN UINTN  TokenNumber\r
+  IN CONST EFI_GUID    *Guid,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber\r
   )\r
 ;\r
 \r
@@ -375,7 +230,7 @@ PeiPcdGetSizeEx (
 EFI_STATUS\r
 EFIAPI\r
 PeiPcdSet8 (\r
-  IN UINTN  TokenNumber,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
   IN UINT8             Value\r
   )\r
 ;\r
@@ -384,7 +239,7 @@ PeiPcdSet8 (
 EFI_STATUS\r
 EFIAPI\r
 PeiPcdSet16 (\r
-  IN UINTN  TokenNumber,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
   IN UINT16            Value\r
   )\r
 ;\r
@@ -393,7 +248,7 @@ PeiPcdSet16 (
 EFI_STATUS\r
 EFIAPI\r
 PeiPcdSet32 (\r
-  IN UINTN  TokenNumber,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
   IN UINT32            Value\r
   )\r
 ;\r
@@ -402,7 +257,7 @@ PeiPcdSet32 (
 EFI_STATUS\r
 EFIAPI\r
 PeiPcdSet64 (\r
-  IN UINTN  TokenNumber,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
   IN UINT64            Value\r
   )\r
 ;\r
@@ -410,8 +265,9 @@ PeiPcdSet64 (
 EFI_STATUS\r
 EFIAPI\r
 PeiPcdSetPtr (\r
-  IN UINTN  TokenNumber,\r
-  IN CONST VOID        *Value\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
+  IN UINTN             SizeOfBuffer,\r
+  IN VOID              *Buffer\r
   )\r
 ;\r
 \r
@@ -419,7 +275,7 @@ PeiPcdSetPtr (
 EFI_STATUS\r
 EFIAPI\r
 PeiPcdSetBool (\r
-  IN UINTN  TokenNumber,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
   IN BOOLEAN           Value\r
   )\r
 ;\r
@@ -428,8 +284,8 @@ PeiPcdSetBool (
 EFI_STATUS\r
 EFIAPI\r
 PeiPcdSet8Ex (\r
-  IN CONST EFI_GUID        *Guid,\r
-  IN UINTN  TokenNumber,\r
+  IN CONST EFI_GUID    *Guid,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
   IN UINT8             Value\r
   )\r
 ;\r
@@ -437,8 +293,8 @@ PeiPcdSet8Ex (
 EFI_STATUS\r
 EFIAPI\r
 PeiPcdSet16Ex (\r
-  IN CONST EFI_GUID        *Guid,\r
-  IN UINTN  TokenNumber,\r
+  IN CONST EFI_GUID    *Guid,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
   IN UINT16            Value\r
   )\r
 ;\r
@@ -447,8 +303,8 @@ PeiPcdSet16Ex (
 EFI_STATUS\r
 EFIAPI\r
 PeiPcdSet32Ex (\r
-  IN CONST EFI_GUID        *Guid,\r
-  IN UINTN  TokenNumber,\r
+  IN CONST EFI_GUID    *Guid,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
   IN UINT32            Value\r
   )\r
 ;\r
@@ -457,8 +313,8 @@ PeiPcdSet32Ex (
 EFI_STATUS\r
 EFIAPI\r
 PeiPcdSet64Ex (\r
-  IN CONST EFI_GUID        *Guid,\r
-  IN UINTN  TokenNumber,\r
+  IN CONST EFI_GUID    *Guid,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
   IN UINT64            Value\r
   )\r
 ;\r
@@ -467,9 +323,10 @@ PeiPcdSet64Ex (
 EFI_STATUS\r
 EFIAPI\r
 PeiPcdSetPtrEx (\r
-  IN CONST EFI_GUID        *Guid,\r
-  IN UINTN  TokenNumber,\r
-  IN CONST VOID        *Value\r
+  IN CONST EFI_GUID    *Guid,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
+  IN UINTN             SizeOfBuffer,\r
+  IN VOID              *Buffer\r
   )\r
 ;\r
 \r
@@ -477,8 +334,8 @@ PeiPcdSetPtrEx (
 EFI_STATUS\r
 EFIAPI\r
 PeiPcdSetBoolEx (\r
-  IN CONST EFI_GUID        *Guid,\r
-  IN UINTN  TokenNumber,\r
+  IN CONST EFI_GUID    *Guid,\r
+  IN PCD_TOKEN_NUMBER  TokenNumber,\r
   IN BOOLEAN           Value\r
   )\r
 ;\r
@@ -488,9 +345,9 @@ PeiPcdSetBoolEx (
 EFI_STATUS\r
 EFIAPI\r
 PcdRegisterCallBackOnSet (\r
-  IN  UINTN        TokenNumber,\r
-  IN  CONST EFI_GUID              *Guid, OPTIONAL\r
-  IN  PCD_PPI_CALLBACK   CallBackFunction\r
+  IN  PCD_TOKEN_NUMBER        TokenNumber,\r
+  IN  CONST EFI_GUID          *Guid, OPTIONAL\r
+  IN  PCD_PPI_CALLBACK        CallBackFunction\r
   )\r
 ;\r
 \r
@@ -498,9 +355,9 @@ PcdRegisterCallBackOnSet (
 EFI_STATUS\r
 EFIAPI\r
 PcdUnRegisterCallBackOnSet (\r
-  IN  UINTN        TokenNumber,\r
-  IN  CONST EFI_GUID              *Guid, OPTIONAL\r
-  IN  PCD_PPI_CALLBACK   CallBackFunction\r
+  IN  PCD_TOKEN_NUMBER        TokenNumber,\r
+  IN  CONST EFI_GUID          *Guid, OPTIONAL\r
+  IN  PCD_PPI_CALLBACK        CallBackFunction\r
   )\r
 ;\r
 \r
@@ -508,8 +365,8 @@ PcdUnRegisterCallBackOnSet (
 EFI_STATUS\r
 EFIAPI\r
 PeiPcdGetNextToken (\r
-  IN CONST EFI_GUID               *Guid, OPTIONAL\r
-  IN OUT  UINTN    *TokenNumber\r
+  IN CONST EFI_GUID           *Guid, OPTIONAL\r
+  IN OUT  PCD_TOKEN_NUMBER    *TokenNumber\r
   )\r
 ;\r
 \r