-<?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
</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
</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
<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
<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>
<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>
<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>
}\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
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
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
//\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
UINT8\r
EFIAPI\r
DxePcdGet8 (\r
- IN UINTN TokenNumber\r
+ IN PCD_TOKEN_NUMBER TokenNumber\r
)\r
;\r
\r
UINT16\r
EFIAPI\r
DxePcdGet16 (\r
- IN UINTN TokenNumber\r
+ IN PCD_TOKEN_NUMBER TokenNumber\r
)\r
;\r
\r
UINT32\r
EFIAPI\r
DxePcdGet32 (\r
- IN UINTN TokenNumber\r
+ IN PCD_TOKEN_NUMBER TokenNumber\r
)\r
;\r
\r
UINT64\r
EFIAPI\r
DxePcdGet64 (\r
- IN UINTN TokenNumber\r
+ IN PCD_TOKEN_NUMBER TokenNumber\r
)\r
;\r
\r
VOID *\r
EFIAPI\r
DxePcdGetPtr (\r
- IN UINTN TokenNumber\r
+ IN PCD_TOKEN_NUMBER TokenNumber\r
)\r
;\r
\r
BOOLEAN\r
EFIAPI\r
DxePcdGetBool (\r
- IN UINTN TokenNumber\r
+ IN PCD_TOKEN_NUMBER TokenNumber\r
)\r
;\r
\r
UINTN\r
EFIAPI\r
DxePcdGetSize (\r
- IN UINTN TokenNumber\r
+ IN PCD_TOKEN_NUMBER TokenNumber\r
)\r
;\r
\r
EFIAPI\r
DxePcdGet8Ex (\r
IN CONST EFI_GUID *Guid,\r
- IN UINTN TokenNumber\r
+ IN PCD_TOKEN_NUMBER TokenNumber\r
)\r
;\r
\r
EFIAPI\r
DxePcdGet16Ex (\r
IN CONST EFI_GUID *Guid,\r
- IN UINTN TokenNumber\r
+ IN PCD_TOKEN_NUMBER TokenNumber\r
)\r
;\r
\r
EFIAPI\r
DxePcdGet32Ex (\r
IN CONST EFI_GUID *Guid,\r
- IN UINTN TokenNumber\r
+ IN PCD_TOKEN_NUMBER TokenNumber\r
)\r
;\r
\r
EFIAPI\r
DxePcdGet64Ex (\r
IN CONST EFI_GUID *Guid,\r
- IN UINTN TokenNumber\r
+ IN PCD_TOKEN_NUMBER TokenNumber\r
)\r
;\r
\r
EFIAPI\r
DxePcdGetPtrEx (\r
IN CONST EFI_GUID *Guid,\r
- IN UINTN TokenNumber\r
+ IN PCD_TOKEN_NUMBER TokenNumber\r
)\r
;\r
\r
EFIAPI\r
DxePcdGetBoolEx (\r
IN CONST EFI_GUID *Guid,\r
- IN UINTN TokenNumber\r
+ IN PCD_TOKEN_NUMBER TokenNumber\r
)\r
;\r
\r
EFIAPI\r
DxePcdGetSizeEx (\r
IN CONST EFI_GUID *Guid,\r
- IN UINTN TokenNumber\r
+ IN PCD_TOKEN_NUMBER TokenNumber\r
)\r
;\r
\r
EFI_STATUS\r
EFIAPI\r
DxePcdSet8 (\r
- IN UINTN TokenNumber,\r
+ IN PCD_TOKEN_NUMBER TokenNumber,\r
IN UINT8 Value\r
)\r
;\r
EFI_STATUS\r
EFIAPI\r
DxePcdSet16 (\r
- IN UINTN TokenNumber,\r
+ IN PCD_TOKEN_NUMBER TokenNumber,\r
IN UINT16 Value\r
)\r
;\r
EFI_STATUS\r
EFIAPI\r
DxePcdSet32 (\r
- IN UINTN TokenNumber,\r
+ IN PCD_TOKEN_NUMBER TokenNumber,\r
IN UINT32 Value\r
)\r
;\r
EFI_STATUS\r
EFIAPI\r
DxePcdSet64 (\r
- IN UINTN TokenNumber,\r
+ IN PCD_TOKEN_NUMBER TokenNumber,\r
IN UINT64 Value\r
)\r
;\r
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
EFI_STATUS\r
EFIAPI\r
DxePcdSetBool (\r
- IN UINTN TokenNumber,\r
+ IN PCD_TOKEN_NUMBER TokenNumber,\r
IN BOOLEAN Value\r
)\r
;\r
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
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
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
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
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
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
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
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
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
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
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
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
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
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
VOID *\r
EFIAPI\r
PeiPcdGetPtr (\r
- IN UINTN TokenNumber\r
+ IN PCD_TOKEN_NUMBER TokenNumber\r
)\r
{\r
return GetWorker (TokenNumber, 0);\r
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
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
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
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
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
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
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
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
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
EFI_STATUS\r
EFIAPI\r
PeiPcdSet8 (\r
- IN UINTN TokenNumber,\r
+ IN PCD_TOKEN_NUMBER TokenNumber,\r
IN UINT8 Value\r
)\r
{\r
EFI_STATUS\r
EFIAPI\r
PeiPcdSet16 (\r
- IN UINTN TokenNumber,\r
+ IN PCD_TOKEN_NUMBER TokenNumber,\r
IN UINT16 Value\r
)\r
{\r
EFI_STATUS\r
EFIAPI\r
PeiPcdSet32 (\r
- IN UINTN TokenNumber,\r
+ IN PCD_TOKEN_NUMBER TokenNumber,\r
IN UINT32 Value\r
)\r
{\r
EFI_STATUS\r
EFIAPI\r
PeiPcdSet64 (\r
- IN UINTN TokenNumber,\r
+ IN PCD_TOKEN_NUMBER TokenNumber,\r
IN UINT64 Value\r
)\r
{\r
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
EFI_STATUS\r
EFIAPI\r
PeiPcdSetBool (\r
- IN UINTN TokenNumber,\r
+ IN PCD_TOKEN_NUMBER TokenNumber,\r
IN BOOLEAN Value\r
)\r
{\r
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
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
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
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
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
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
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
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
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
#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
\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
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
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
#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
\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
;\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
UINT8\r
EFIAPI\r
PeiPcdGet8 (\r
- IN UINTN TokenNumber\r
+ IN PCD_TOKEN_NUMBER TokenNumber\r
)\r
;\r
\r
UINT16\r
EFIAPI\r
PeiPcdGet16 (\r
- IN UINTN TokenNumber\r
+ IN PCD_TOKEN_NUMBER TokenNumber\r
)\r
;\r
\r
UINT32\r
EFIAPI\r
PeiPcdGet32 (\r
- IN UINTN TokenNumber\r
+ IN PCD_TOKEN_NUMBER TokenNumber\r
)\r
;\r
\r
UINT64\r
EFIAPI\r
PeiPcdGet64 (\r
- IN UINTN TokenNumber\r
+ IN PCD_TOKEN_NUMBER TokenNumber\r
)\r
;\r
\r
VOID *\r
EFIAPI\r
PeiPcdGetPtr (\r
- IN UINTN TokenNumber\r
+ IN PCD_TOKEN_NUMBER TokenNumber\r
)\r
;\r
\r
BOOLEAN\r
EFIAPI\r
PeiPcdGetBool (\r
- IN UINTN TokenNumber\r
+ IN PCD_TOKEN_NUMBER TokenNumber\r
)\r
;\r
\r
UINTN\r
EFIAPI\r
PeiPcdGetSize (\r
- IN UINTN TokenNumber\r
+ IN PCD_TOKEN_NUMBER TokenNumber\r
)\r
;\r
\r
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
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
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
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
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
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
EFI_STATUS\r
EFIAPI\r
PeiPcdSet8 (\r
- IN UINTN TokenNumber,\r
+ IN PCD_TOKEN_NUMBER TokenNumber,\r
IN UINT8 Value\r
)\r
;\r
EFI_STATUS\r
EFIAPI\r
PeiPcdSet16 (\r
- IN UINTN TokenNumber,\r
+ IN PCD_TOKEN_NUMBER TokenNumber,\r
IN UINT16 Value\r
)\r
;\r
EFI_STATUS\r
EFIAPI\r
PeiPcdSet32 (\r
- IN UINTN TokenNumber,\r
+ IN PCD_TOKEN_NUMBER TokenNumber,\r
IN UINT32 Value\r
)\r
;\r
EFI_STATUS\r
EFIAPI\r
PeiPcdSet64 (\r
- IN UINTN TokenNumber,\r
+ IN PCD_TOKEN_NUMBER TokenNumber,\r
IN UINT64 Value\r
)\r
;\r
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
EFI_STATUS\r
EFIAPI\r
PeiPcdSetBool (\r
- IN UINTN TokenNumber,\r
+ IN PCD_TOKEN_NUMBER TokenNumber,\r
IN BOOLEAN Value\r
)\r
;\r
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
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
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
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
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
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
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
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
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