Sync up Pcd Library Instances and PCD Driver/PEIM with Pcd spec 0.51 and Mde 0.51

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@286 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
qwang12 2006-05-26 01:09:00 +00:00
parent b16ef80556
commit 00b7af13f2
7 changed files with 558 additions and 364 deletions

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- <!--
Copyright (c) 2006, Intel Corporation Copyright (c) 2006, Intel Corporation
All rights reserved. This program and the accompanying materials All rights reserved. This program and the accompanying materials
@ -522,6 +522,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</ModuleSA> </ModuleSA>
</DXE_CORE> </DXE_CORE>
<DXE_DRIVERS> <DXE_DRIVERS>
<ModuleSA Arch="IA32" FvBinding="FV_RECOVERY" ModuleName="PcdDxe">
</ModuleSA>
<ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="HelloWorld" > <ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="HelloWorld" >
<PcdBuildDeclarations> <PcdBuildDeclarations>
<PcdBuildData ItemType="FIXED_AT_BUILD"> <PcdBuildData ItemType="FIXED_AT_BUILD">
@ -2904,6 +2906,197 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
</PcdBuildData> </PcdBuildData>
</PcdBuildDeclarations> </PcdBuildDeclarations>
</ModuleSA> </ModuleSA>
<ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="PcdPeim" >
<PcdBuildDeclarations>
<PcdBuildData ItemType="FIXED_AT_BUILD">
<C_Name>PcdMaxPeiPcdCallBackNumberPerPcdEntry</C_Name>
<Token>0x0001000f</Token>
<DatumType>UINT32</DatumType>
<HiiEnable>false</HiiEnable>
<VpdEnable>false</VpdEnable>
<AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>
<SkuEnable>false</SkuEnable>
<SkuDataArrayEnable>false</SkuDataArrayEnable>
<MaxSku>0</MaxSku>
<SkuId>0</SkuId>
<DatumSize>4</DatumSize>
<VariableGuid>0</VariableGuid>
<VariableName>L""</VariableName>
<DataOffset>0</DataOffset>
<DefaultValue>0x08</DefaultValue>
</PcdBuildData>
<PcdBuildData ItemType="FIXED_AT_BUILD">
<C_Name>PcdVpdBaseAddress</C_Name>
<Token>0x00010010</Token>
<DatumType>UINT32</DatumType>
<HiiEnable>false</HiiEnable>
<VpdEnable>false</VpdEnable>
<AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>
<SkuEnable>false</SkuEnable>
<SkuDataArrayEnable>false</SkuDataArrayEnable>
<MaxSku>0</MaxSku>
<SkuId>0</SkuId>
<DatumSize>4</DatumSize>
<VariableGuid>0</VariableGuid>
<VariableName>L""</VariableName>
<DataOffset>0</DataOffset>
<DefaultValue>0x10000000</DefaultValue>
</PcdBuildData>
<PcdBuildData ItemType="FIXED_AT_BUILD">
<C_Name>PcdMaximumUnicodeStringLength</C_Name>
<Token>0x00000001</Token>
<DatumType>UINT32</DatumType>
<HiiEnable>false</HiiEnable>
<VpdEnable>false</VpdEnable>
<AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>
<SkuEnable>false</SkuEnable>
<SkuDataArrayEnable>false</SkuDataArrayEnable>
<MaxSku>0x00</MaxSku>
<SkuId>0x00</SkuId>
<DatumSize>4</DatumSize>
<VariableGuid>0</VariableGuid>
<VariableName>L""</VariableName>
<DataOffset>0</DataOffset>
<DefaultValue>1000000</DefaultValue>
</PcdBuildData>
<PcdBuildData ItemType="FIXED_AT_BUILD">
<C_Name>PcdMaximumAsciiStringLength</C_Name>
<Token>0x00000002</Token>
<DatumType>UINT32</DatumType>
<HiiEnable>false</HiiEnable>
<VpdEnable>false</VpdEnable>
<AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>
<SkuEnable>false</SkuEnable>
<SkuDataArrayEnable>false</SkuDataArrayEnable>
<MaxSku>0x00</MaxSku>
<SkuId>0x00</SkuId>
<DatumSize>4</DatumSize>
<VariableGuid>0</VariableGuid>
<VariableName>L""</VariableName>
<DataOffset>0</DataOffset>
<DefaultValue>1000000</DefaultValue>
</PcdBuildData>
<PcdBuildData ItemType="FIXED_AT_BUILD">
<C_Name>PcdDebugPropertyMask</C_Name>
<Token>0x00000005</Token>
<DatumType>UINT8</DatumType>
<HiiEnable>false</HiiEnable>
<VpdEnable>false</VpdEnable>
<AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>
<SkuEnable>false</SkuEnable>
<SkuDataArrayEnable>false</SkuDataArrayEnable>
<MaxSku>0x00</MaxSku>
<SkuId>0x00</SkuId>
<DatumSize>4</DatumSize>
<VariableGuid>0</VariableGuid>
<VariableName>L""</VariableName>
<DataOffset>0</DataOffset>
<DefaultValue>0x0f</DefaultValue>
</PcdBuildData>
<PcdBuildData ItemType="FIXED_AT_BUILD">
<C_Name>PcdSpinLockTimeout</C_Name>
<Token>0x00000004</Token>
<DatumType>UINT32</DatumType>
<HiiEnable>false</HiiEnable>
<VpdEnable>false</VpdEnable>
<AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>
<SkuEnable>false</SkuEnable>
<SkuDataArrayEnable>false</SkuDataArrayEnable>
<MaxSku>0x00</MaxSku>
<SkuId>0x00</SkuId>
<DatumSize>4</DatumSize>
<VariableGuid>0</VariableGuid>
<VariableName>L""</VariableName>
<DataOffset>0</DataOffset>
<DefaultValue>10000000</DefaultValue>
</PcdBuildData>
<PcdBuildData ItemType="PATCHABLE_IN_MODULE">
<C_Name>PcdDebugPrintErrorLevel</C_Name>
<Token>0x00000006</Token>
<DatumType>UINT32</DatumType>
<HiiEnable>false</HiiEnable>
<VpdEnable>false</VpdEnable>
<AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>
<SkuEnable>false</SkuEnable>
<SkuDataArrayEnable>false</SkuDataArrayEnable>
<MaxSku>0x00</MaxSku>
<SkuId>0x00</SkuId>
<DatumSize>4</DatumSize>
<VariableGuid>0</VariableGuid>
<VariableName>L""</VariableName>
<DataOffset>0</DataOffset>
<DefaultValue>0x80000000</DefaultValue>
</PcdBuildData>
<PcdBuildData ItemType="FIXED_AT_BUILD">
<C_Name>PcdReportStatusCodePropertyMask</C_Name>
<Token>0x00000007</Token>
<DatumType>UINT8</DatumType>
<HiiEnable>false</HiiEnable>
<VpdEnable>false</VpdEnable>
<AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>
<SkuEnable>false</SkuEnable>
<SkuDataArrayEnable>false</SkuDataArrayEnable>
<MaxSku>0x00</MaxSku>
<SkuId>0x00</SkuId>
<DatumSize>1</DatumSize>
<VariableGuid>0</VariableGuid>
<VariableName>L""</VariableName>
<DataOffset>0</DataOffset>
<DefaultValue>0x07</DefaultValue>
</PcdBuildData>
<PcdBuildData ItemType="FIXED_AT_BUILD">
<C_Name>PcdMaximumLinkedListLength</C_Name>
<Token>0x00000003</Token>
<DatumType>UINT32</DatumType>
<HiiEnable>false</HiiEnable>
<VpdEnable>false</VpdEnable>
<AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>
<SkuEnable>false</SkuEnable>
<SkuDataArrayEnable>false</SkuDataArrayEnable>
<MaxSku>0x00</MaxSku>
<SkuId>0x00</SkuId>
<DatumSize>4</DatumSize>
<VariableGuid>0</VariableGuid>
<VariableName>L""</VariableName>
<DataOffset>0</DataOffset>
<DefaultValue>1000000</DefaultValue>
</PcdBuildData>
<PcdBuildData ItemType="FIXED_AT_BUILD">
<C_Name>PcdDebugClearMemoryValue</C_Name>
<Token>0x00000008</Token>
<DatumType>UINT8</DatumType>
<HiiEnable>false</HiiEnable>
<VpdEnable>false</VpdEnable>
<AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>
<SkuEnable>false</SkuEnable>
<SkuDataArrayEnable>false</SkuDataArrayEnable>
<MaxSku>0</MaxSku>
<SkuId>0</SkuId>
<DatumSize>1</DatumSize>
<VariableGuid>0</VariableGuid>
<VariableName>L""</VariableName>
<DataOffset>0</DataOffset>
<DefaultValue>0xAF</DefaultValue>
</PcdBuildData>
<PcdBuildData ItemType="FIXED_AT_BUILD">
<C_Name>PcdMaxPeiPcdCallBackNumberPerPcdEntry</C_Name>
<Token>0x0001000f</Token>
<DatumType>UINT32</DatumType>
<HiiEnable>false</HiiEnable>
<VpdEnable>false</VpdEnable>
<AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>
<SkuEnable>false</SkuEnable>
<SkuDataArrayEnable>false</SkuDataArrayEnable>
<MaxSku>0</MaxSku>
<SkuId>0</SkuId>
<DatumSize>4</DatumSize>
<VariableGuid>0</VariableGuid>
<VariableName>L""</VariableName>
<DataOffset>0</DataOffset>
<DefaultValue>0x08</DefaultValue>
</PcdBuildData>
</PcdBuildDeclarations>
</ModuleSA>
<ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="PeiVariable" > <ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="PeiVariable" >
<PcdBuildDeclarations> <PcdBuildDeclarations>
<PcdBuildData ItemType="FIXED_AT_BUILD"> <PcdBuildData ItemType="FIXED_AT_BUILD">
@ -7426,6 +7619,40 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<GuidOffset>0</GuidOffset> <GuidOffset>0</GuidOffset>
<DefaultValue>0</DefaultValue> <DefaultValue>0</DefaultValue>
</PcdBuildData> </PcdBuildData>
<PcdBuildData ItemType="FIXED_AT_BUILD">
<C_Name>PcdMaxPeiPcdCallBackNumberPerPcdEntry</C_Name>
<Token>0x0001000f</Token>
<DatumType>UINT32</DatumType>
<HiiEnable>false</HiiEnable>
<VpdEnable>false</VpdEnable>
<AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>
<SkuEnable>false</SkuEnable>
<SkuDataArrayEnable>false</SkuDataArrayEnable>
<MaxSku>0</MaxSku>
<SkuId>0</SkuId>
<DatumSize>4</DatumSize>
<VariableGuid>0</VariableGuid>
<VariableName>L""</VariableName>
<DataOffset>0</DataOffset>
<DefaultValue>0x08</DefaultValue>
</PcdBuildData>
<PcdBuildData ItemType="FIXED_AT_BUILD">
<C_Name>PcdVpdBaseAddress</C_Name>
<Token>0x00010010</Token>
<DatumType>UINT32</DatumType>
<HiiEnable>false</HiiEnable>
<VpdEnable>false</VpdEnable>
<AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>
<SkuEnable>false</SkuEnable>
<SkuDataArrayEnable>false</SkuDataArrayEnable>
<MaxSku>0</MaxSku>
<SkuId>0</SkuId>
<DatumSize>4</DatumSize>
<VariableGuid>0</VariableGuid>
<VariableName>L""</VariableName>
<DataOffset>0</DataOffset>
<DefaultValue>0x10000000</DefaultValue>
</PcdBuildData>
</PcdBuildDeclarations> </PcdBuildDeclarations>
<BuildOptions> <BuildOptions>
<OutputDirectory IntermediateDirectories="UNIFIED"/> <OutputDirectory IntermediateDirectories="UNIFIED"/>

View File

@ -715,5 +715,15 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<Token>0x00011004</Token> <Token>0x00011004</Token>
<DatumType>BOOLEAN</DatumType> <DatumType>BOOLEAN</DatumType>
</PcdEntry> </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> </PcdDefinitions>
</PackageSurfaceArea> </PackageSurfaceArea>

View File

@ -97,13 +97,15 @@ PcdDxeInit (
} }
EFI_STATUS VOID
EFIAPI EFIAPI
DxePcdSetSku ( DxePcdSetSku (
IN UINTN SkuId IN SKU_ID SkuId
) )
{ {
return gPcdDatabase->PeiDb.Init.SystemSkuId = (SKU_ID) SkuId; gPcdDatabase->PeiDb.Init.SystemSkuId = SkuId;
return;
} }
@ -346,15 +348,11 @@ EFI_STATUS
EFIAPI EFIAPI
DxePcdSetPtr ( DxePcdSetPtr (
IN UINTN TokenNumber, IN UINTN TokenNumber,
IN CONST VOID *Value IN UINTN SizeOfBuffer,
IN VOID *Buffer
) )
{ {
// return SetWorker (TokenNumber, Buffer, SizeOfBuffer, TRUE);
// BugBug, please change the Size to Input size when sync with spec
//
//ASSERT (sizeof (Value) == DxePcdGetSize (TokenNumber));
return SetWorker (TokenNumber, (VOID *)Value, DxePcdGetSize (TokenNumber), TRUE);
} }
@ -452,14 +450,15 @@ EFIAPI
DxePcdSetPtrEx ( DxePcdSetPtrEx (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN ExTokenNumber, IN UINTN ExTokenNumber,
IN CONST VOID *Value IN UINTN SizeOfBuffer,
IN VOID *Buffer
) )
{ {
return ExSetWorker( return ExSetWorker(
ExTokenNumber, ExTokenNumber,
Guid, Guid,
(VOID *) Value, Buffer,
sizeof (Value), SizeOfBuffer,
TRUE TRUE
); );
} }

View File

@ -302,10 +302,10 @@ GetExPcdTokenAttributes (
// //
// Protocol Interface function declaration. // Protocol Interface function declaration.
// //
EFI_STATUS VOID
EFIAPI EFIAPI
DxePcdSetSku ( DxePcdSetSku (
IN UINTN SkuId IN SKU_ID SkuId
) )
; ;
@ -313,7 +313,7 @@ DxePcdSetSku (
UINT8 UINT8
EFIAPI EFIAPI
DxePcdGet8 ( DxePcdGet8 (
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
; ;
@ -321,7 +321,7 @@ DxePcdGet8 (
UINT16 UINT16
EFIAPI EFIAPI
DxePcdGet16 ( DxePcdGet16 (
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
; ;
@ -329,7 +329,7 @@ DxePcdGet16 (
UINT32 UINT32
EFIAPI EFIAPI
DxePcdGet32 ( DxePcdGet32 (
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
; ;
@ -337,7 +337,7 @@ DxePcdGet32 (
UINT64 UINT64
EFIAPI EFIAPI
DxePcdGet64 ( DxePcdGet64 (
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
; ;
@ -345,7 +345,7 @@ DxePcdGet64 (
VOID * VOID *
EFIAPI EFIAPI
DxePcdGetPtr ( DxePcdGetPtr (
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
; ;
@ -353,7 +353,7 @@ DxePcdGetPtr (
BOOLEAN BOOLEAN
EFIAPI EFIAPI
DxePcdGetBool ( DxePcdGetBool (
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
; ;
@ -361,7 +361,7 @@ DxePcdGetBool (
UINTN UINTN
EFIAPI EFIAPI
DxePcdGetSize ( DxePcdGetSize (
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
; ;
@ -370,7 +370,7 @@ UINT8
EFIAPI EFIAPI
DxePcdGet8Ex ( DxePcdGet8Ex (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
; ;
@ -379,7 +379,7 @@ UINT16
EFIAPI EFIAPI
DxePcdGet16Ex ( DxePcdGet16Ex (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
; ;
@ -388,7 +388,7 @@ UINT32
EFIAPI EFIAPI
DxePcdGet32Ex ( DxePcdGet32Ex (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
; ;
@ -398,7 +398,7 @@ UINT64
EFIAPI EFIAPI
DxePcdGet64Ex ( DxePcdGet64Ex (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
; ;
@ -408,7 +408,7 @@ VOID *
EFIAPI EFIAPI
DxePcdGetPtrEx ( DxePcdGetPtrEx (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
; ;
@ -417,7 +417,7 @@ BOOLEAN
EFIAPI EFIAPI
DxePcdGetBoolEx ( DxePcdGetBoolEx (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
; ;
@ -426,7 +426,7 @@ UINTN
EFIAPI EFIAPI
DxePcdGetSizeEx ( DxePcdGetSizeEx (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
; ;
@ -434,7 +434,7 @@ DxePcdGetSizeEx (
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
DxePcdSet8 ( DxePcdSet8 (
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN UINT8 Value IN UINT8 Value
) )
; ;
@ -443,7 +443,7 @@ DxePcdSet8 (
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
DxePcdSet16 ( DxePcdSet16 (
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN UINT16 Value IN UINT16 Value
) )
; ;
@ -452,7 +452,7 @@ DxePcdSet16 (
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
DxePcdSet32 ( DxePcdSet32 (
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN UINT32 Value IN UINT32 Value
) )
; ;
@ -461,7 +461,7 @@ DxePcdSet32 (
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
DxePcdSet64 ( DxePcdSet64 (
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN UINT64 Value IN UINT64 Value
) )
; ;
@ -470,8 +470,9 @@ DxePcdSet64 (
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
DxePcdSetPtr ( DxePcdSetPtr (
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN CONST VOID *Value IN UINTN SizeOfBuffer,
IN VOID *Buffer
) )
; ;
@ -479,7 +480,7 @@ DxePcdSetPtr (
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
DxePcdSetBool ( DxePcdSetBool (
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN BOOLEAN Value IN BOOLEAN Value
) )
; ;
@ -489,7 +490,7 @@ EFI_STATUS
EFIAPI EFIAPI
DxePcdSet8Ex ( DxePcdSet8Ex (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN UINT8 Value IN UINT8 Value
) )
; ;
@ -499,7 +500,7 @@ EFI_STATUS
EFIAPI EFIAPI
DxePcdSet16Ex ( DxePcdSet16Ex (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN UINT16 Value IN UINT16 Value
) )
; ;
@ -509,7 +510,7 @@ EFI_STATUS
EFIAPI EFIAPI
DxePcdSet32Ex ( DxePcdSet32Ex (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN UINT32 Value IN UINT32 Value
) )
; ;
@ -519,7 +520,7 @@ EFI_STATUS
EFIAPI EFIAPI
DxePcdSet64Ex ( DxePcdSet64Ex (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN UINT64 Value IN UINT64 Value
) )
; ;
@ -529,8 +530,9 @@ EFI_STATUS
EFIAPI EFIAPI
DxePcdSetPtrEx ( DxePcdSetPtrEx (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN CONST VOID *Value IN UINTN SizeOfBuffer,
IN VOID *Buffer
) )
; ;
@ -539,7 +541,7 @@ EFI_STATUS
EFIAPI EFIAPI
DxePcdSetBoolEx ( DxePcdSetBoolEx (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN BOOLEAN Value IN BOOLEAN Value
) )
; ;
@ -549,7 +551,7 @@ DxePcdSetBoolEx (
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
PcdRegisterCallBackOnSet ( PcdRegisterCallBackOnSet (
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN CONST EFI_GUID *Guid, OPTIONAL IN CONST EFI_GUID *Guid, OPTIONAL
IN PCD_PROTOCOL_CALLBACK CallBackFunction IN PCD_PROTOCOL_CALLBACK CallBackFunction
) )
@ -559,7 +561,7 @@ PcdRegisterCallBackOnSet (
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
PcdUnRegisterCallBackOnSet ( PcdUnRegisterCallBackOnSet (
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN CONST EFI_GUID *Guid, OPTIONAL IN CONST EFI_GUID *Guid, OPTIONAL
IN PCD_PROTOCOL_CALLBACK CallBackFunction IN PCD_PROTOCOL_CALLBACK CallBackFunction
) )
@ -570,7 +572,7 @@ EFI_STATUS
EFIAPI EFIAPI
DxePcdGetNextToken ( DxePcdGetNextToken (
IN CONST EFI_GUID *Guid, OPTIONAL IN CONST EFI_GUID *Guid, OPTIONAL
IN OUT UINTN *TokenNumber IN OUT PCD_TOKEN_NUMBER *TokenNumber
) )
; ;

View File

@ -83,16 +83,16 @@ PcdPeimInit (
return EFI_SUCCESS; return EFI_SUCCESS;
} }
EFI_STATUS VOID
EFIAPI EFIAPI
PeiPcdSetSku ( PeiPcdSetSku (
IN UINTN SkuId IN SKU_ID SkuId
) )
{ {
GetPcdDatabase()->Init.SystemSkuId = (SKU_ID) SkuId; GetPcdDatabase()->Init.SystemSkuId = SkuId;
return EFI_SUCCESS; return;
} }
@ -100,7 +100,7 @@ PeiPcdSetSku (
UINT8 UINT8
EFIAPI EFIAPI
PeiPcdGet8 ( PeiPcdGet8 (
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
{ {
return *((UINT8 *) GetWorker (TokenNumber, sizeof (UINT8))); return *((UINT8 *) GetWorker (TokenNumber, sizeof (UINT8)));
@ -111,7 +111,7 @@ PeiPcdGet8 (
UINT16 UINT16
EFIAPI EFIAPI
PeiPcdGet16 ( PeiPcdGet16 (
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
{ {
return ReadUnaligned16 (GetWorker (TokenNumber, sizeof (UINT16))); return ReadUnaligned16 (GetWorker (TokenNumber, sizeof (UINT16)));
@ -122,7 +122,7 @@ PeiPcdGet16 (
UINT32 UINT32
EFIAPI EFIAPI
PeiPcdGet32 ( PeiPcdGet32 (
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
{ {
return ReadUnaligned32 (GetWorker (TokenNumber, sizeof (UINT32))); return ReadUnaligned32 (GetWorker (TokenNumber, sizeof (UINT32)));
@ -133,7 +133,7 @@ PeiPcdGet32 (
UINT64 UINT64
EFIAPI EFIAPI
PeiPcdGet64 ( PeiPcdGet64 (
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
{ {
return ReadUnaligned64 (GetWorker (TokenNumber, sizeof (UINT64))); return ReadUnaligned64 (GetWorker (TokenNumber, sizeof (UINT64)));
@ -144,7 +144,7 @@ PeiPcdGet64 (
VOID * VOID *
EFIAPI EFIAPI
PeiPcdGetPtr ( PeiPcdGetPtr (
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
{ {
return GetWorker (TokenNumber, 0); return GetWorker (TokenNumber, 0);
@ -155,7 +155,7 @@ PeiPcdGetPtr (
BOOLEAN BOOLEAN
EFIAPI EFIAPI
PeiPcdGetBool ( PeiPcdGetBool (
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
{ {
return *((BOOLEAN *) GetWorker (TokenNumber, sizeof (BOOLEAN))); return *((BOOLEAN *) GetWorker (TokenNumber, sizeof (BOOLEAN)));
@ -166,7 +166,7 @@ PeiPcdGetBool (
UINTN UINTN
EFIAPI EFIAPI
PeiPcdGetSize ( PeiPcdGetSize (
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
{ {
ASSERT (TokenNumber < PEI_LOCAL_TOKEN_NUMBER); ASSERT (TokenNumber < PEI_LOCAL_TOKEN_NUMBER);
@ -180,7 +180,7 @@ UINT8
EFIAPI EFIAPI
PeiPcdGet8Ex ( PeiPcdGet8Ex (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN ExTokenNumber IN PCD_TOKEN_NUMBER ExTokenNumber
) )
{ {
return *((UINT8 *) ExGetWorker (Guid, ExTokenNumber, sizeof (UINT8))); return *((UINT8 *) ExGetWorker (Guid, ExTokenNumber, sizeof (UINT8)));
@ -192,7 +192,7 @@ UINT16
EFIAPI EFIAPI
PeiPcdGet16Ex ( PeiPcdGet16Ex (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN ExTokenNumber IN PCD_TOKEN_NUMBER ExTokenNumber
) )
{ {
return ReadUnaligned16 (ExGetWorker (Guid, ExTokenNumber, sizeof (UINT16))); return ReadUnaligned16 (ExGetWorker (Guid, ExTokenNumber, sizeof (UINT16)));
@ -204,7 +204,7 @@ UINT32
EFIAPI EFIAPI
PeiPcdGet32Ex ( PeiPcdGet32Ex (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN ExTokenNumber IN PCD_TOKEN_NUMBER ExTokenNumber
) )
{ {
return ReadUnaligned32 (ExGetWorker (Guid, ExTokenNumber, sizeof (UINT32))); return ReadUnaligned32 (ExGetWorker (Guid, ExTokenNumber, sizeof (UINT32)));
@ -216,7 +216,7 @@ UINT64
EFIAPI EFIAPI
PeiPcdGet64Ex ( PeiPcdGet64Ex (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN ExTokenNumber IN PCD_TOKEN_NUMBER ExTokenNumber
) )
{ {
return ReadUnaligned64 (ExGetWorker (Guid, ExTokenNumber, sizeof (UINT64))); return ReadUnaligned64 (ExGetWorker (Guid, ExTokenNumber, sizeof (UINT64)));
@ -228,7 +228,7 @@ VOID *
EFIAPI EFIAPI
PeiPcdGetPtrEx ( PeiPcdGetPtrEx (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN ExTokenNumber IN PCD_TOKEN_NUMBER ExTokenNumber
) )
{ {
return ExGetWorker (Guid, ExTokenNumber, 0); return ExGetWorker (Guid, ExTokenNumber, 0);
@ -240,7 +240,7 @@ BOOLEAN
EFIAPI EFIAPI
PeiPcdGetBoolEx ( PeiPcdGetBoolEx (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN ExTokenNumber IN PCD_TOKEN_NUMBER ExTokenNumber
) )
{ {
return *((BOOLEAN *) ExGetWorker (Guid, ExTokenNumber, sizeof (BOOLEAN))); return *((BOOLEAN *) ExGetWorker (Guid, ExTokenNumber, sizeof (BOOLEAN)));
@ -252,7 +252,7 @@ UINTN
EFIAPI EFIAPI
PeiPcdGetSizeEx ( PeiPcdGetSizeEx (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN ExTokenNumber IN PCD_TOKEN_NUMBER ExTokenNumber
) )
{ {
EX_PCD_ENTRY_ATTRIBUTE Attr; EX_PCD_ENTRY_ATTRIBUTE Attr;
@ -267,7 +267,7 @@ PeiPcdGetSizeEx (
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
PeiPcdSet8 ( PeiPcdSet8 (
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN UINT8 Value IN UINT8 Value
) )
{ {
@ -279,7 +279,7 @@ PeiPcdSet8 (
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
PeiPcdSet16 ( PeiPcdSet16 (
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN UINT16 Value IN UINT16 Value
) )
{ {
@ -291,7 +291,7 @@ PeiPcdSet16 (
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
PeiPcdSet32 ( PeiPcdSet32 (
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN UINT32 Value IN UINT32 Value
) )
{ {
@ -303,7 +303,7 @@ PeiPcdSet32 (
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
PeiPcdSet64 ( PeiPcdSet64 (
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN UINT64 Value IN UINT64 Value
) )
{ {
@ -314,16 +314,12 @@ PeiPcdSet64 (
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
PeiPcdSetPtr ( PeiPcdSetPtr (
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN CONST VOID *Value IN UINTN SizeOfBuffer,
IN VOID *Buffer
) )
{ {
// return SetWorker (TokenNumber, Buffer, SizeOfBuffer, TRUE);
// BugBug, please change the Size to Input size when sync with spec
//
//ASSERT (sizeof (Value) == GetPcdDatabase()->Init.SizeTable[TokenNumber]);
return SetWorker (TokenNumber, (VOID *) Value, GetPcdDatabase()->Init.SizeTable[TokenNumber], TRUE);
} }
@ -331,7 +327,7 @@ PeiPcdSetPtr (
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
PeiPcdSetBool ( PeiPcdSetBool (
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN BOOLEAN Value IN BOOLEAN Value
) )
{ {
@ -344,7 +340,7 @@ EFI_STATUS
EFIAPI EFIAPI
PeiPcdSet8Ex ( PeiPcdSet8Ex (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN ExTokenNumber, IN PCD_TOKEN_NUMBER ExTokenNumber,
IN UINT8 Value IN UINT8 Value
) )
{ {
@ -363,7 +359,7 @@ EFI_STATUS
EFIAPI EFIAPI
PeiPcdSet16Ex ( PeiPcdSet16Ex (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN ExTokenNumber, IN PCD_TOKEN_NUMBER ExTokenNumber,
IN UINT16 Value IN UINT16 Value
) )
{ {
@ -382,7 +378,7 @@ EFI_STATUS
EFIAPI EFIAPI
PeiPcdSet32Ex ( PeiPcdSet32Ex (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN ExTokenNumber, IN PCD_TOKEN_NUMBER ExTokenNumber,
IN UINT32 Value IN UINT32 Value
) )
{ {
@ -401,7 +397,7 @@ EFI_STATUS
EFIAPI EFIAPI
PeiPcdSet64Ex ( PeiPcdSet64Ex (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN ExTokenNumber, IN PCD_TOKEN_NUMBER ExTokenNumber,
IN UINT64 Value IN UINT64 Value
) )
{ {
@ -420,15 +416,16 @@ EFI_STATUS
EFIAPI EFIAPI
PeiPcdSetPtrEx ( PeiPcdSetPtrEx (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN ExTokenNumber, IN PCD_TOKEN_NUMBER ExTokenNumber,
IN CONST VOID *Value IN UINTN SizeOfBuffer,
IN VOID *Value
) )
{ {
return ExSetWorker( return ExSetWorker(
ExTokenNumber, ExTokenNumber,
Guid, Guid,
(VOID *) Value, Value,
sizeof (Value), SizeOfBuffer,
TRUE TRUE
); );
} }
@ -439,7 +436,7 @@ EFI_STATUS
EFIAPI EFIAPI
PeiPcdSetBoolEx ( PeiPcdSetBoolEx (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN ExTokenNumber, IN PCD_TOKEN_NUMBER ExTokenNumber,
IN BOOLEAN Value IN BOOLEAN Value
) )
{ {
@ -458,7 +455,7 @@ PeiPcdSetBoolEx (
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
PcdRegisterCallBackOnSet ( PcdRegisterCallBackOnSet (
IN UINTN ExTokenNumber, IN PCD_TOKEN_NUMBER ExTokenNumber,
IN CONST EFI_GUID *Guid, OPTIONAL IN CONST EFI_GUID *Guid, OPTIONAL
IN PCD_PPI_CALLBACK CallBackFunction IN PCD_PPI_CALLBACK CallBackFunction
) )
@ -471,7 +468,7 @@ PcdRegisterCallBackOnSet (
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
PcdUnRegisterCallBackOnSet ( PcdUnRegisterCallBackOnSet (
IN UINTN ExTokenNumber, IN PCD_TOKEN_NUMBER ExTokenNumber,
IN CONST EFI_GUID *Guid, OPTIONAL IN CONST EFI_GUID *Guid, OPTIONAL
IN PCD_PPI_CALLBACK CallBackFunction IN PCD_PPI_CALLBACK CallBackFunction
) )
@ -485,22 +482,138 @@ EFI_STATUS
EFIAPI EFIAPI
PeiPcdGetNextToken ( PeiPcdGetNextToken (
IN CONST EFI_GUID *Guid, OPTIONAL IN CONST EFI_GUID *Guid, OPTIONAL
IN OUT UINTN *TokenNumber IN OUT PCD_TOKEN_NUMBER *TokenNumber
) )
{ {
UINTN GuidTableIdx;
PEI_PCD_DATABASE *PeiPcdDb;
EFI_GUID *MatchGuid;
DYNAMICEX_MAPPING *ExMapTable;
UINTN i;
BOOLEAN Found;
if (Guid == NULL) { if (Guid == NULL) {
*TokenNumber++; *TokenNumber++;
if (*TokenNumber >= PEI_LOCAL_TOKEN_NUMBER) { if (*TokenNumber >= PEI_NEX_TOKEN_NUMBER) {
*TokenNumber = 0; *TokenNumber = 0;
} }
} else {
if (PEI_EXMAP_TABLE_EMPTY) {
*TokenNumber = (UINTN) PCD_INVALID_TOKEN_NUMBER;
return EFI_NOT_FOUND;
} }
// //
// BugBug: Haven't implemented the portion to get Next Token for GuidSpace is not Local GuidSpace. // Assume PCD Database AutoGen tool is sorting the ExMap based on the following order
// 1) ExGuid
// 2) ExTokenNumber
// //
PeiPcdDb = GetPcdDatabase ();
MatchGuid = ScanGuid (PeiPcdDb->Init.GuidTable, sizeof(PeiPcdDb->Init.GuidTable), Guid);
if (MatchGuid == NULL) {
*TokenNumber = (UINTN) PCD_INVALID_TOKEN_NUMBER;
return EFI_NOT_FOUND;
}
GuidTableIdx = MatchGuid - PeiPcdDb->Init.GuidTable;
ExMapTable = PeiPcdDb->Init.ExMapTable;
Found = FALSE;
for (i = 0; i < PEI_EXMAPPING_TABLE_SIZE; i++) {
if (ExMapTable[i].ExGuidIndex == GuidTableIdx) {
Found = TRUE;
break;
}
}
if (Found) {
if (*TokenNumber == PCD_INVALID_TOKEN_NUMBER) {
*TokenNumber = ExMapTable[i].ExTokenNumber;
return EFI_SUCCESS;
}
for ( ; ExMapTable[i].ExGuidIndex == GuidTableIdx; i++) {
if (ExMapTable[i].ExTokenNumber == *TokenNumber) {
i++;
if (ExMapTable[i].ExGuidIndex == GuidTableIdx) {
*TokenNumber = ExMapTable[i].ExTokenNumber;
return EFI_SUCCESS;
} else {
*TokenNumber = (UINTN) PCD_INVALID_TOKEN_NUMBER;
return EFI_SUCCESS;
}
}
}
return EFI_NOT_FOUND;
}
}
return EFI_SUCCESS; return EFI_SUCCESS;
} }
EFI_GUID *
EFIAPI
PeiPcdGetNextTokenSpaceGuid (
IN CONST EFI_GUID *Guid
)
{
UINTN GuidTableIdx;
EFI_GUID *MatchGuid;
PEI_PCD_DATABASE *PeiPcdDb;
DYNAMICEX_MAPPING *ExMapTable;
UINTN i;
BOOLEAN Found;
if (PEI_EXMAP_TABLE_EMPTY) {
return NULL;
}
//
// Assume PCD Database AutoGen tool is sorting the ExMap based on the following order
// 1) ExGuid
// 2) ExTokenNumber
//
PeiPcdDb = GetPcdDatabase ();
MatchGuid = ScanGuid (PeiPcdDb->Init.GuidTable, sizeof(PeiPcdDb->Init.GuidTable), Guid);
if (MatchGuid == NULL) {
return NULL;
}
GuidTableIdx = MatchGuid - PeiPcdDb->Init.GuidTable;
ExMapTable = PeiPcdDb->Init.ExMapTable;
Found = FALSE;
for (i = 0; i < PEI_EXMAPPING_TABLE_SIZE; i++) {
if (ExMapTable[i].ExGuidIndex == GuidTableIdx) {
Found = TRUE;
break;
}
}
if (Found) {
for ( ; i < PEI_EXMAPPING_TABLE_SIZE; i++ ) {
if (ExMapTable[i].ExGuidIndex != GuidTableIdx ) {
if (i < PEI_EXMAPPING_TABLE_SIZE) {
return &PeiPcdDb->Init.GuidTable[ExMapTable[i].ExGuidIndex];
} else {
return NULL;
}
}
}
}
return NULL;
}

View File

@ -17,18 +17,6 @@ Module Name: Service.c
#include "Service.h" #include "Service.h"
//
// Build Tool will generate PEI_PCD_DB_INIT_VALUE in Autogen.h
//
/* PEI_PCD_DATABASE_INIT
gPEIPcdDbInit = {
PEI_PCD_DB_INIT_VALUE
};
*/
/** /**
The function registers the CallBackOnSet fucntion The function registers the CallBackOnSet fucntion
according to TokenNumber and EFI_GUID space. according to TokenNumber and EFI_GUID space.
@ -59,7 +47,7 @@ PeiRegisterCallBackWorker (
if (Guid == NULL) { if (Guid == NULL) {
TokenNumber = ExTokenNumber; TokenNumber = ExTokenNumber;
ASSERT (TokenNumber < PEI_LOCAL_TOKEN_NUMBER); ASSERT (TokenNumber < PEI_NEX_TOKEN_NUMBER);
LocalTokenNumber = GetPcdDatabase()->Init.LocalTokenNumberTable[TokenNumber]; LocalTokenNumber = GetPcdDatabase()->Init.LocalTokenNumberTable[TokenNumber];
} else { } else {
GetExPcdTokenAttributes (Guid, ExTokenNumber, &Attr); GetExPcdTokenAttributes (Guid, ExTokenNumber, &Attr);
@ -173,8 +161,6 @@ GetHiiVariable (
Status = PeiCoreAllocatePool (Size, &Buffer); Status = PeiCoreAllocatePool (Size, &Buffer);
ASSERT_EFI_ERROR (Status); ASSERT_EFI_ERROR (Status);
// declare a local for STP.
//
Status = VariablePpi->PeiGetVariable ( Status = VariablePpi->PeiGetVariable (
GetPeiServicesTablePointer (), GetPeiServicesTablePointer (),
(UINT16 *) VariableName, (UINT16 *) VariableName,
@ -227,7 +213,7 @@ GetSkuEnabledTokenNumber (
Value += sizeof(VARIABLE_HEAD) * i; Value += sizeof(VARIABLE_HEAD) * i;
return ((Value - (UINT8 *) PeiPcdDb) | PCD_TYPE_HII); return ((Value - (UINT8 *) PeiPcdDb) | PCD_TYPE_HII);
case 0: //Change to a MACRO PCD_TYPE_DATA case PCD_TYPE_DATA:
Value += Size * i; Value += Size * i;
return (Value - (UINT8 *) PeiPcdDb); return (Value - (UINT8 *) PeiPcdDb);

View File

@ -18,149 +18,6 @@ Module Name: Service.h
#ifndef _SERVICE_H #ifndef _SERVICE_H
#define _SERVICE_H #define _SERVICE_H
#define USE_AUTOGEN
#ifndef USE_AUTOGEN
//
// The following definition will be generated by build tool
//
//
// Common definitions that is shared by PEI and DXE PCD database
//
#define PCD_TYPE_SHIFT 24
#define PCD_TYPE_DATA (0x00 << PCD_TYPE_SHIFT)
#define PCD_TYPE_HII (0x80 << PCD_TYPE_SHIFT)
#define PCD_TYPE_VPD (0x40 << PCD_TYPE_SHIFT)
#define PCD_TYPE_SKU_ENABLED (0x20 << PCD_TYPE_SHIFT)
#define PCD_DATABASE_OFFSET_MASK (~(PCD_TYPE_HII | PCD_TYPE_VPD | PCD_TYPE_SKU_ENABLED))
typedef struct {
UINT32 ExTokenNumber;
UINT32 LocalTokenNumber; // PCD Number of this particular platform build
UINT16 ExGuidIndex; // Index of GuidTable
} DYNAMICEX_MAPPING;
typedef struct {
UINT32 SkuDataStartOffset; //We have to use offsetof MACRO as we don't know padding done by compiler
UINT32 SkuIdTableOffset; //Offset from the PCD_DB
} SKU_HEAD;
typedef struct {
UINT16 GuidTableIndex; // Offset in Guid Table in units of GUID.
UINT16 StringIndex; // Offset in String Table in units of UINT16.
UINT16 Offset; // Offset in Variable
} VARIABLE_HEAD ;
typedef struct {
UINT32 Offset;
} VPD_HEAD;
typedef struct {
UINT32 LocalTokenNumber;
UINT16 TokenNumber;
UINT16 Size;
} SIZEINFO;
#define offsetof(s,m) (UINT32)&(((s *)0)->m)
//
// C Structure generate for PEI PCD Database
//
#define PEI_EXMAPPING_TABLE_SIZE 1
#define PEI_GUID_TABLE_SIZE 1
#define PEI_LOCAL_TOKEN_NUMBER 1
#define PEI_STRING_TABLE_SIZE 2
#define PEI_SKUID_TABLE_SIZE 3
#define PEI_DATABASE_EMPTRY FALSE
#define PEI_EXMAP_TABLE_EMPTY FALSE
#define PEI_GUID_TABLE_EMPTY FALSE
#define PEI_STRINGTABLE_EMPTY FALSE
#define PEI_SIZETABLE_EMPTY FALSE
#define PEI_SKUID_TABLE_EMPTY FALSE
typedef struct {
DYNAMICEX_MAPPING ExMapTable[PEI_EXMAPPING_TABLE_SIZE];
EFI_GUID GuidTable[PEI_GUID_TABLE_SIZE];
UINT32 LocalTokenNumberTable[PEI_LOCAL_TOKEN_NUMBER];
UINT16 StringTable[PEI_STRING_TABLE_SIZE];
UINT16 SizeTable[PEI_LOCAL_TOKEN_NUMBER];
UINT8 SkuIdTable[PEI_SKUID_TABLE_SIZE];
SKU_ID SystemSkuId;
} PEI_PCD_DATABASE_INIT;
typedef struct {
UINT8 Dummy;
} PEI_PCD_DATABASE_UNINIT;
#define PEI_PCD_DB_INIT_VALUE \
/* ExMapTable */ \
{ \
{ /* ExTokenNumber */ 0x00000001, /* LocalTokenNumberIndex */ 0, /* ExGuidIndex */ 0} \
}, \
\
/* GuidTable */ \
{ \
{ 0xBB25CF6F, 0xF1D4, 0x11D2, {0x9A, 0x0C, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0xFD }} \
}, \
\
/* LocalTokenNumberTable */ \
{ \
0 \
}, \
\
/* StringTable */ \
{ \
L"\0" \
}, \
\
/* SizeTable */ \
{ \
4 \
}, \
\
/* SkuIdTable */ \
{ \
/*MaxSku*/ 2, /*SkuId*/ 100, /*SkuId*/200 \
},\
\
/* SystemSkuId */ \
0 \
//
// End of Autogen Code
//
#endif
/*
typedef struct {
PEI_PCD_DATABASE_INIT Init;
PEI_PCD_DATABASE_UNINIT Uninit;
} PEI_PCD_DATABASE;
*/
/* Internal Function definitions */ /* Internal Function definitions */
PEI_PCD_DATABASE * PEI_PCD_DATABASE *
@ -241,15 +98,13 @@ BuildPcdDatabase (
; ;
extern EFI_GUID gPcdImageFileGuid;
// //
// PPI Interface Implementation Declaration. // PPI Interface Implementation Declaration.
// //
EFI_STATUS VOID
EFIAPI EFIAPI
PeiPcdSetSku ( PeiPcdSetSku (
IN UINTN SkuId IN SKU_ID SkuId
) )
; ;
@ -257,7 +112,7 @@ PeiPcdSetSku (
UINT8 UINT8
EFIAPI EFIAPI
PeiPcdGet8 ( PeiPcdGet8 (
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
; ;
@ -265,7 +120,7 @@ PeiPcdGet8 (
UINT16 UINT16
EFIAPI EFIAPI
PeiPcdGet16 ( PeiPcdGet16 (
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
; ;
@ -273,7 +128,7 @@ PeiPcdGet16 (
UINT32 UINT32
EFIAPI EFIAPI
PeiPcdGet32 ( PeiPcdGet32 (
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
; ;
@ -281,7 +136,7 @@ PeiPcdGet32 (
UINT64 UINT64
EFIAPI EFIAPI
PeiPcdGet64 ( PeiPcdGet64 (
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
; ;
@ -289,7 +144,7 @@ PeiPcdGet64 (
VOID * VOID *
EFIAPI EFIAPI
PeiPcdGetPtr ( PeiPcdGetPtr (
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
; ;
@ -297,7 +152,7 @@ PeiPcdGetPtr (
BOOLEAN BOOLEAN
EFIAPI EFIAPI
PeiPcdGetBool ( PeiPcdGetBool (
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
; ;
@ -305,7 +160,7 @@ PeiPcdGetBool (
UINTN UINTN
EFIAPI EFIAPI
PeiPcdGetSize ( PeiPcdGetSize (
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
; ;
@ -314,7 +169,7 @@ UINT8
EFIAPI EFIAPI
PeiPcdGet8Ex ( PeiPcdGet8Ex (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
; ;
@ -323,7 +178,7 @@ UINT16
EFIAPI EFIAPI
PeiPcdGet16Ex ( PeiPcdGet16Ex (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
; ;
@ -331,7 +186,7 @@ UINT32
EFIAPI EFIAPI
PeiPcdGet32Ex ( PeiPcdGet32Ex (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
; ;
@ -340,7 +195,7 @@ UINT64
EFIAPI EFIAPI
PeiPcdGet64Ex ( PeiPcdGet64Ex (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
; ;
@ -349,7 +204,7 @@ VOID *
EFIAPI EFIAPI
PeiPcdGetPtrEx ( PeiPcdGetPtrEx (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
; ;
@ -358,7 +213,7 @@ BOOLEAN
EFIAPI EFIAPI
PeiPcdGetBoolEx ( PeiPcdGetBoolEx (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
; ;
@ -367,7 +222,7 @@ UINTN
EFIAPI EFIAPI
PeiPcdGetSizeEx ( PeiPcdGetSizeEx (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN TokenNumber IN PCD_TOKEN_NUMBER TokenNumber
) )
; ;
@ -375,7 +230,7 @@ PeiPcdGetSizeEx (
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
PeiPcdSet8 ( PeiPcdSet8 (
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN UINT8 Value IN UINT8 Value
) )
; ;
@ -384,7 +239,7 @@ PeiPcdSet8 (
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
PeiPcdSet16 ( PeiPcdSet16 (
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN UINT16 Value IN UINT16 Value
) )
; ;
@ -393,7 +248,7 @@ PeiPcdSet16 (
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
PeiPcdSet32 ( PeiPcdSet32 (
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN UINT32 Value IN UINT32 Value
) )
; ;
@ -402,7 +257,7 @@ PeiPcdSet32 (
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
PeiPcdSet64 ( PeiPcdSet64 (
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN UINT64 Value IN UINT64 Value
) )
; ;
@ -410,8 +265,9 @@ PeiPcdSet64 (
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
PeiPcdSetPtr ( PeiPcdSetPtr (
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN CONST VOID *Value IN UINTN SizeOfBuffer,
IN VOID *Buffer
) )
; ;
@ -419,7 +275,7 @@ PeiPcdSetPtr (
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
PeiPcdSetBool ( PeiPcdSetBool (
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN BOOLEAN Value IN BOOLEAN Value
) )
; ;
@ -429,7 +285,7 @@ EFI_STATUS
EFIAPI EFIAPI
PeiPcdSet8Ex ( PeiPcdSet8Ex (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN UINT8 Value IN UINT8 Value
) )
; ;
@ -438,7 +294,7 @@ EFI_STATUS
EFIAPI EFIAPI
PeiPcdSet16Ex ( PeiPcdSet16Ex (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN UINT16 Value IN UINT16 Value
) )
; ;
@ -448,7 +304,7 @@ EFI_STATUS
EFIAPI EFIAPI
PeiPcdSet32Ex ( PeiPcdSet32Ex (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN UINT32 Value IN UINT32 Value
) )
; ;
@ -458,7 +314,7 @@ EFI_STATUS
EFIAPI EFIAPI
PeiPcdSet64Ex ( PeiPcdSet64Ex (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN UINT64 Value IN UINT64 Value
) )
; ;
@ -468,8 +324,9 @@ EFI_STATUS
EFIAPI EFIAPI
PeiPcdSetPtrEx ( PeiPcdSetPtrEx (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN CONST VOID *Value IN UINTN SizeOfBuffer,
IN VOID *Buffer
) )
; ;
@ -478,7 +335,7 @@ EFI_STATUS
EFIAPI EFIAPI
PeiPcdSetBoolEx ( PeiPcdSetBoolEx (
IN CONST EFI_GUID *Guid, IN CONST EFI_GUID *Guid,
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN BOOLEAN Value IN BOOLEAN Value
) )
; ;
@ -488,7 +345,7 @@ PeiPcdSetBoolEx (
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
PcdRegisterCallBackOnSet ( PcdRegisterCallBackOnSet (
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN CONST EFI_GUID *Guid, OPTIONAL IN CONST EFI_GUID *Guid, OPTIONAL
IN PCD_PPI_CALLBACK CallBackFunction IN PCD_PPI_CALLBACK CallBackFunction
) )
@ -498,7 +355,7 @@ PcdRegisterCallBackOnSet (
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
PcdUnRegisterCallBackOnSet ( PcdUnRegisterCallBackOnSet (
IN UINTN TokenNumber, IN PCD_TOKEN_NUMBER TokenNumber,
IN CONST EFI_GUID *Guid, OPTIONAL IN CONST EFI_GUID *Guid, OPTIONAL
IN PCD_PPI_CALLBACK CallBackFunction IN PCD_PPI_CALLBACK CallBackFunction
) )
@ -509,7 +366,7 @@ EFI_STATUS
EFIAPI EFIAPI
PeiPcdGetNextToken ( PeiPcdGetNextToken (
IN CONST EFI_GUID *Guid, OPTIONAL IN CONST EFI_GUID *Guid, OPTIONAL
IN OUT UINTN *TokenNumber IN OUT PCD_TOKEN_NUMBER *TokenNumber
) )
; ;