mirror of https://github.com/acidanthera/audk.git
PCD tools update:
1) CollectPCDAction will get all PCD information from FPD file but *not* search SPD and MSA file. 2) ALL PcdBuildDeclaration in FPD file has been moved from common <PcdBuildDeclaration> to seperated module's <PcdBuildDeclaration>. Common <PcdBuildDeclaration> was removed from FPD file. 3) The platform information for Dyanmic and DynamicEx type PCD should be record into <PcdDynamicBuildDeclaration> now. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@415 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
356f7d1a20
commit
8840ad589e
|
@ -14671,7 +14671,7 @@
|
|||
</ModuleSA>
|
||||
|
||||
<!-- IPF -->
|
||||
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="HelloWorld" >
|
||||
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="HelloWorld" >
|
||||
<PcdBuildDeclarations>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdMaximumUnicodeStringLength</C_Name>
|
||||
|
@ -14794,7 +14794,7 @@
|
|||
</PcdBuildData>
|
||||
</PcdBuildDeclarations>
|
||||
</ModuleSA>
|
||||
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="Partition" >
|
||||
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="Partition" >
|
||||
<PcdBuildDeclarations>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdMaximumUnicodeStringLength</C_Name>
|
||||
|
@ -14934,7 +14934,7 @@
|
|||
</PcdBuildData>
|
||||
</PcdBuildDeclarations>
|
||||
</ModuleSA>
|
||||
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="English" >
|
||||
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="English" >
|
||||
<PcdBuildDeclarations>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdMaximumUnicodeStringLength</C_Name>
|
||||
|
@ -15074,7 +15074,7 @@
|
|||
</PcdBuildData>
|
||||
</PcdBuildDeclarations>
|
||||
</ModuleSA>
|
||||
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="DiskIo" >
|
||||
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="DiskIo" >
|
||||
<PcdBuildDeclarations>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdMaximumUnicodeStringLength</C_Name>
|
||||
|
@ -15214,7 +15214,7 @@
|
|||
</PcdBuildData>
|
||||
</PcdBuildDeclarations>
|
||||
</ModuleSA>
|
||||
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="DiskIoPartition" >
|
||||
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="DiskIoPartition" >
|
||||
<PcdBuildDeclarations>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdMaximumUnicodeStringLength</C_Name>
|
||||
|
@ -15354,7 +15354,7 @@
|
|||
</PcdBuildData>
|
||||
</PcdBuildDeclarations>
|
||||
</ModuleSA>
|
||||
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="SecurityStub" >
|
||||
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="SecurityStub" >
|
||||
<PcdBuildDeclarations>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdMaximumUnicodeStringLength</C_Name>
|
||||
|
@ -15494,7 +15494,7 @@
|
|||
</PcdBuildData>
|
||||
</PcdBuildDeclarations>
|
||||
</ModuleSA>
|
||||
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="DxeMain" >
|
||||
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="DxeMain" >
|
||||
<PcdBuildDeclarations>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdMaximumUnicodeStringLength</C_Name>
|
||||
|
@ -15651,7 +15651,7 @@
|
|||
</PcdBuildData>
|
||||
</PcdBuildDeclarations>
|
||||
</ModuleSA>
|
||||
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="PeiMain" >
|
||||
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="PeiMain" >
|
||||
<PcdBuildDeclarations>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdMaximumUnicodeStringLength</C_Name>
|
||||
|
@ -15808,7 +15808,7 @@
|
|||
</PcdBuildData>
|
||||
</PcdBuildDeclarations>
|
||||
</ModuleSA>
|
||||
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="DxeIpl" >
|
||||
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="DxeIpl" >
|
||||
<PcdBuildDeclarations>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdMaximumUnicodeStringLength</C_Name>
|
||||
|
@ -15948,7 +15948,7 @@
|
|||
</PcdBuildData>
|
||||
</PcdBuildDeclarations>
|
||||
</ModuleSA>
|
||||
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="GraphicsConsole" >
|
||||
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="GraphicsConsole" >
|
||||
<PcdBuildDeclarations>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdMaximumUnicodeStringLength</C_Name>
|
||||
|
@ -16088,7 +16088,7 @@
|
|||
</PcdBuildData>
|
||||
</PcdBuildDeclarations>
|
||||
</ModuleSA>
|
||||
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="Runtime" >
|
||||
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="Runtime" >
|
||||
<PcdBuildDeclarations>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdMaximumUnicodeStringLength</C_Name>
|
||||
|
@ -16228,7 +16228,7 @@
|
|||
</PcdBuildData>
|
||||
</PcdBuildDeclarations>
|
||||
</ModuleSA>
|
||||
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="MonotonicCounter" >
|
||||
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="MonotonicCounter" >
|
||||
<PcdBuildDeclarations>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdMaximumUnicodeStringLength</C_Name>
|
||||
|
@ -16368,7 +16368,7 @@
|
|||
</PcdBuildData>
|
||||
</PcdBuildDeclarations>
|
||||
</ModuleSA>
|
||||
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="Variable" >
|
||||
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="Variable" >
|
||||
<PcdBuildDeclarations>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdMaximumUnicodeStringLength</C_Name>
|
||||
|
@ -16508,7 +16508,7 @@
|
|||
</PcdBuildData>
|
||||
</PcdBuildDeclarations>
|
||||
</ModuleSA>
|
||||
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="EmuVariable" >
|
||||
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="EmuVariable" >
|
||||
<PcdBuildDeclarations>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdMaximumUnicodeStringLength</C_Name>
|
||||
|
@ -16648,7 +16648,7 @@
|
|||
</PcdBuildData>
|
||||
</PcdBuildDeclarations>
|
||||
</ModuleSA>
|
||||
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="StatusCode" >
|
||||
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="StatusCode" >
|
||||
<PcdBuildDeclarations>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdMaximumUnicodeStringLength</C_Name>
|
||||
|
@ -16788,7 +16788,7 @@
|
|||
</PcdBuildData>
|
||||
</PcdBuildDeclarations>
|
||||
</ModuleSA>
|
||||
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="PeiBaseMemoryTestInit" >
|
||||
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="PeiBaseMemoryTestInit" >
|
||||
<PcdBuildDeclarations>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdMaximumUnicodeStringLength</C_Name>
|
||||
|
@ -16928,7 +16928,7 @@
|
|||
</PcdBuildData>
|
||||
</PcdBuildDeclarations>
|
||||
</ModuleSA>
|
||||
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="PcdPeim" >
|
||||
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="PcdPeim" >
|
||||
<PcdBuildDeclarations>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdMaxPeiPcdCallBackNumberPerPcdEntry</C_Name>
|
||||
|
@ -17102,7 +17102,7 @@
|
|||
</PcdBuildData>
|
||||
</PcdBuildDeclarations>
|
||||
</ModuleSA>
|
||||
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="PeiVariable" >
|
||||
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="PeiVariable" >
|
||||
<PcdBuildDeclarations>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdMaximumUnicodeStringLength</C_Name>
|
||||
|
@ -17242,7 +17242,7 @@
|
|||
</PcdBuildData>
|
||||
</PcdBuildDeclarations>
|
||||
</ModuleSA>
|
||||
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="WatchDogTimer" >
|
||||
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="WatchDogTimer" >
|
||||
<PcdBuildDeclarations>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdMaximumUnicodeStringLength</C_Name>
|
||||
|
@ -17382,7 +17382,7 @@
|
|||
</PcdBuildData>
|
||||
</PcdBuildDeclarations>
|
||||
</ModuleSA>
|
||||
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="FtwLite" >
|
||||
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="FtwLite" >
|
||||
<PcdBuildDeclarations>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdMaximumUnicodeStringLength</C_Name>
|
||||
|
@ -17522,7 +17522,7 @@
|
|||
</PcdBuildData>
|
||||
</PcdBuildDeclarations>
|
||||
</ModuleSA>
|
||||
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="DebugPort" >
|
||||
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="DebugPort" >
|
||||
<PcdBuildDeclarations>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdMaximumUnicodeStringLength</C_Name>
|
||||
|
@ -17663,7 +17663,7 @@
|
|||
</PcdBuildDeclarations>
|
||||
</ModuleSA>
|
||||
<!--
|
||||
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="DebugSupport" >
|
||||
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="DebugSupport" >
|
||||
<PcdBuildDeclarations>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdMaximumUnicodeStringLength</C_Name>
|
||||
|
@ -28259,170 +28259,6 @@
|
|||
</ModuleSA>
|
||||
</OTHER_COMPONENTS>
|
||||
</FrameworkModules>
|
||||
<PcdBuildDeclarations>
|
||||
<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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>1000000</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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>1000000</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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>10000000</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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>0x0f</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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>0x07</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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>0xAF</DefaultValue>
|
||||
</PcdBuildData>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdPerformanceLibraryPropertyMask</C_Name>
|
||||
<Token>0x00000009</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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</PcdBuildData>
|
||||
</PcdBuildDeclarations>
|
||||
<BuildOptions>
|
||||
<OutputDirectory IntermediateDirectories="UNIFIED"/>
|
||||
</BuildOptions>
|
||||
|
|
|
@ -7954,209 +7954,6 @@
|
|||
</ModuleSA>
|
||||
</OTHER_COMPONENTS>
|
||||
</FrameworkModules>
|
||||
<PcdBuildDeclarations>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdMaximumUnicodeStringLength</C_Name>
|
||||
<Token>0x00000001</Token>
|
||||
<TokenSpaceGuid>f1a9de0d-f005-45c4-bdb5-5ec0fb468316</TokenSpaceGuid>
|
||||
<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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>1000000</DefaultValue>
|
||||
</PcdBuildData>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdMaximumAsciiStringLength</C_Name>
|
||||
<Token>0x00000002</Token>
|
||||
<TokenSpaceGuid>f1a9de0d-f005-45c4-bdb5-5ec0fb468316</TokenSpaceGuid>
|
||||
<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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>1000000</DefaultValue>
|
||||
</PcdBuildData>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdMaximumLinkedListLength</C_Name>
|
||||
<Token>0x00000003</Token>
|
||||
<TokenSpaceGuid>f1a9de0d-f005-45c4-bdb5-5ec0fb468316</TokenSpaceGuid>
|
||||
<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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>1000000</DefaultValue>
|
||||
</PcdBuildData>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdSpinLockTimeout</C_Name>
|
||||
<Token>0x00000004</Token>
|
||||
<TokenSpaceGuid>f1a9de0d-f005-45c4-bdb5-5ec0fb468316</TokenSpaceGuid>
|
||||
<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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>10000000</DefaultValue>
|
||||
</PcdBuildData>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdDebugPropertyMask</C_Name>
|
||||
<Token>0x00000005</Token>
|
||||
<TokenSpaceGuid>866baf87-e00c-4dc6-9733-1e23af2115ee</TokenSpaceGuid>
|
||||
<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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>0x0f</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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>0x07</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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>0xAF</DefaultValue>
|
||||
</PcdBuildData>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdPerformanceLibraryPropertyMask</C_Name>
|
||||
<Token>0x00000009</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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>0</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>
|
||||
<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>
|
||||
<BuildOptions>
|
||||
<OutputDirectory IntermediateDirectories="UNIFIED"/>
|
||||
</BuildOptions>
|
||||
|
|
|
@ -11025,604 +11025,6 @@
|
|||
</ModuleSA>
|
||||
</DXE_DRIVERS>
|
||||
</FrameworkModules>
|
||||
<PcdBuildDeclarations>
|
||||
<!-- <Filename>PcdInfo.xml</Filename> -->
|
||||
<!-- you can also specify individual elements here, not just a file name. -->
|
||||
<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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>1000000</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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>1000000</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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>10000000</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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>0x1f</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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>0x07</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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>0xAF</DefaultValue>
|
||||
</PcdBuildData>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdPerformanceLibraryPropertyMask</C_Name>
|
||||
<Token>0x00000009</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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</PcdBuildData>
|
||||
<PcdBuildData ItemType="DYNAMIC">
|
||||
<C_Name>PcdWinNtPhysicalDisk</C_Name>
|
||||
<Token>0x00001000</Token>
|
||||
<DatumType>VOID*</DatumType>
|
||||
<HiiEnable>false</HiiEnable>
|
||||
<VpdEnable>false</VpdEnable>
|
||||
<AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>
|
||||
<SkuEnable>false</SkuEnable>
|
||||
<SkuDataArrayEnable>false</SkuDataArrayEnable>
|
||||
<MaxSku>0x00</MaxSku>
|
||||
<SkuId>0x00</SkuId>
|
||||
<DatumSize>24</DatumSize>
|
||||
<VariableGuid>0</VariableGuid>
|
||||
<VariableName>L""</VariableName>
|
||||
<DataOffset>0</DataOffset>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>L"FW;40960;512"</DefaultValue>
|
||||
</PcdBuildData>
|
||||
<PcdBuildData ItemType="DYNAMIC">
|
||||
<C_Name>PcdWinNtVirtualDisk</C_Name>
|
||||
<Token>0x00001001</Token>
|
||||
<DatumType>VOID*</DatumType>
|
||||
<HiiEnable>false</HiiEnable>
|
||||
<VpdEnable>false</VpdEnable>
|
||||
<AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>
|
||||
<SkuEnable>false</SkuEnable>
|
||||
<SkuDataArrayEnable>false</SkuDataArrayEnable>
|
||||
<MaxSku>0x00</MaxSku>
|
||||
<SkuId>0x00</SkuId>
|
||||
<DatumSize>24</DatumSize>
|
||||
<VariableGuid>0</VariableGuid>
|
||||
<VariableName>L""</VariableName>
|
||||
<DataOffset>0</DataOffset>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>L"FW;40960;512"</DefaultValue>
|
||||
</PcdBuildData>
|
||||
<PcdBuildData ItemType="DYNAMIC">
|
||||
<C_Name>PcdWinNtSerialPort</C_Name>
|
||||
<Token>0x00001002</Token>
|
||||
<DatumType>VOID*</DatumType>
|
||||
<HiiEnable>false</HiiEnable>
|
||||
<VpdEnable>false</VpdEnable>
|
||||
<AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>
|
||||
<SkuEnable>false</SkuEnable>
|
||||
<SkuDataArrayEnable>false</SkuDataArrayEnable>
|
||||
<MaxSku>0x00</MaxSku>
|
||||
<SkuId>0x00</SkuId>
|
||||
<DatumSize>20</DatumSize>
|
||||
<VariableGuid>0</VariableGuid>
|
||||
<VariableName>L""</VariableName>
|
||||
<DataOffset>0</DataOffset>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>L"COM1!COM2"</DefaultValue>
|
||||
</PcdBuildData>
|
||||
<PcdBuildData ItemType="DYNAMIC">
|
||||
<C_Name>PcdWinNtUga</C_Name>
|
||||
<Token>0x00001003</Token>
|
||||
<DatumType>VOID*</DatumType>
|
||||
<HiiEnable>false</HiiEnable>
|
||||
<VpdEnable>false</VpdEnable>
|
||||
<AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>
|
||||
<SkuEnable>false</SkuEnable>
|
||||
<SkuDataArrayEnable>false</SkuDataArrayEnable>
|
||||
<MaxSku>0x00</MaxSku>
|
||||
<SkuId>0x00</SkuId>
|
||||
<DatumSize>50</DatumSize>
|
||||
<VariableGuid>0</VariableGuid>
|
||||
<VariableName>L""</VariableName>
|
||||
<DataOffset>0</DataOffset>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>L"UGA Window 1!UGA Window 2"</DefaultValue>
|
||||
</PcdBuildData>
|
||||
<PcdBuildData ItemType="DYNAMIC">
|
||||
<C_Name>PcdWinNtFileSystem</C_Name>
|
||||
<Token>0x00001004</Token>
|
||||
<DatumType>VOID*</DatumType>
|
||||
<HiiEnable>false</HiiEnable>
|
||||
<VpdEnable>false</VpdEnable>
|
||||
<AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>
|
||||
<SkuEnable>false</SkuEnable>
|
||||
<SkuDataArrayEnable>false</SkuDataArrayEnable>
|
||||
<MaxSku>0x00</MaxSku>
|
||||
<SkuId>0x00</SkuId>
|
||||
<DatumSize>120</DatumSize>
|
||||
<VariableGuid>0</VariableGuid>
|
||||
<VariableName>L""</VariableName>
|
||||
<DataOffset>0</DataOffset>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>L".!C:\\D\\work\\Remodel\\mdk\\EdkShellBinPkg\\bin\\ia32\\Apps"</DefaultValue>
|
||||
</PcdBuildData>
|
||||
<PcdBuildData ItemType="DYNAMIC">
|
||||
<C_Name>PcdWinNtMemorySize</C_Name>
|
||||
<Token>0x00001005</Token>
|
||||
<DatumType>VOID*</DatumType>
|
||||
<HiiEnable>false</HiiEnable>
|
||||
<VpdEnable>false</VpdEnable>
|
||||
<AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>
|
||||
<SkuEnable>false</SkuEnable>
|
||||
<SkuDataArrayEnable>false</SkuDataArrayEnable>
|
||||
<MaxSku>0x00</MaxSku>
|
||||
<SkuId>0x00</SkuId>
|
||||
<DatumSize>10</DatumSize>
|
||||
<VariableGuid>0</VariableGuid>
|
||||
<VariableName>L""</VariableName>
|
||||
<DataOffset>0</DataOffset>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>L"64!64"</DefaultValue>
|
||||
</PcdBuildData>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdWinNtMemorySizeForSecMain</C_Name>
|
||||
<Token>0x00001005</Token>
|
||||
<DatumType>VOID*</DatumType>
|
||||
<HiiEnable>false</HiiEnable>
|
||||
<VpdEnable>false</VpdEnable>
|
||||
<AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>
|
||||
<SkuEnable>false</SkuEnable>
|
||||
<SkuDataArrayEnable>false</SkuDataArrayEnable>
|
||||
<MaxSku>0x00</MaxSku>
|
||||
<SkuId>0x00</SkuId>
|
||||
<DatumSize>10</DatumSize>
|
||||
<VariableGuid>0</VariableGuid>
|
||||
<VariableName>L""</VariableName>
|
||||
<DataOffset>0</DataOffset>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>L"64!64"</DefaultValue>
|
||||
</PcdBuildData>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdWinNtBootMode</C_Name>
|
||||
<Token>0x00001006</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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>1</DefaultValue>
|
||||
</PcdBuildData>
|
||||
<PcdBuildData ItemType="DYNAMIC">
|
||||
<C_Name>PcdWinNtCpuModel</C_Name>
|
||||
<Token>0x00001007</Token>
|
||||
<DatumType>VOID*</DatumType>
|
||||
<HiiEnable>false</HiiEnable>
|
||||
<VpdEnable>false</VpdEnable>
|
||||
<AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>
|
||||
<SkuEnable>false</SkuEnable>
|
||||
<SkuDataArrayEnable>false</SkuDataArrayEnable>
|
||||
<MaxSku>0x00</MaxSku>
|
||||
<SkuId>0x00</SkuId>
|
||||
<DatumSize>48</DatumSize>
|
||||
<VariableGuid>0</VariableGuid>
|
||||
<VariableName>L""</VariableName>
|
||||
<DataOffset>0</DataOffset>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>L"Intel(R) Processor Model"</DefaultValue>
|
||||
</PcdBuildData>
|
||||
<PcdBuildData ItemType="DYNAMIC">
|
||||
<C_Name>PcdWinNtCpuSpeed</C_Name>
|
||||
<Token>0x00001008</Token>
|
||||
<DatumType>VOID*</DatumType>
|
||||
<HiiEnable>false</HiiEnable>
|
||||
<VpdEnable>false</VpdEnable>
|
||||
<AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>
|
||||
<SkuEnable>false</SkuEnable>
|
||||
<SkuDataArrayEnable>false</SkuDataArrayEnable>
|
||||
<MaxSku>0x00</MaxSku>
|
||||
<SkuId>0x00</SkuId>
|
||||
<DatumSize>8</DatumSize>
|
||||
<VariableGuid>0</VariableGuid>
|
||||
<VariableName>L""</VariableName>
|
||||
<DataOffset>0</DataOffset>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>L"3000"</DefaultValue>
|
||||
</PcdBuildData>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdWinNtFirmwareVolume</C_Name>
|
||||
<Token>0x00001009</Token>
|
||||
<DatumType>VOID*</DatumType>
|
||||
<HiiEnable>false</HiiEnable>
|
||||
<VpdEnable>false</VpdEnable>
|
||||
<AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>
|
||||
<SkuEnable>false</SkuEnable>
|
||||
<SkuDataArrayEnable>false</SkuDataArrayEnable>
|
||||
<MaxSku>0x00</MaxSku>
|
||||
<SkuId>0x00</SkuId>
|
||||
<DatumSize>44</DatumSize>
|
||||
<VariableGuid>0</VariableGuid>
|
||||
<VariableName>L""</VariableName>
|
||||
<DataOffset>0</DataOffset>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>L"..\\..\\Fv\\Fv_Recovery.fd"</DefaultValue>
|
||||
</PcdBuildData>
|
||||
<PcdBuildData ItemType="DYNAMIC">
|
||||
<C_Name>PcdWinNtConsole</C_Name>
|
||||
<Token>0x0000100a</Token>
|
||||
<DatumType>VOID*</DatumType>
|
||||
<HiiEnable>false</HiiEnable>
|
||||
<VpdEnable>false</VpdEnable>
|
||||
<AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>
|
||||
<SkuEnable>false</SkuEnable>
|
||||
<SkuDataArrayEnable>false</SkuDataArrayEnable>
|
||||
<MaxSku>0x00</MaxSku>
|
||||
<SkuId>0x00</SkuId>
|
||||
<DatumSize>50</DatumSize>
|
||||
<VariableGuid>0</VariableGuid>
|
||||
<VariableName>L""</VariableName>
|
||||
<DataOffset>0</DataOffset>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>L"Bus Driver Console Window"</DefaultValue>
|
||||
</PcdBuildData>
|
||||
<PcdBuildData ItemType="DYNAMIC">
|
||||
<C_Name>PcdRothmanTest</C_Name>
|
||||
<Token>0x0000100b</Token>
|
||||
<DatumType>UINT32</DatumType>
|
||||
<HiiEnable>true</HiiEnable>
|
||||
<VpdEnable>false</VpdEnable>
|
||||
<AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>
|
||||
<SkuEnable>false</SkuEnable>
|
||||
<SkuDataArrayEnable>false</SkuDataArrayEnable>
|
||||
<MaxSku>0x00</MaxSku>
|
||||
<SkuId>0x00</SkuId>
|
||||
<DatumSize>4</DatumSize>
|
||||
<VariableGuid>0B3ADA4F-AE56-4c24-8DEA-F03B7558AE50</VariableGuid>
|
||||
<VariableName>RothmanVariable</VariableName>
|
||||
<DataOffset>0</DataOffset>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</PcdBuildData>
|
||||
<PcdBuildData ItemType="PATCHABLE_IN_MODULE">
|
||||
<C_Name>PcdWinNtBinaryPatch1</C_Name>
|
||||
<Token>0x0001000b</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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>0x1234</DefaultValue>
|
||||
</PcdBuildData>
|
||||
<PcdBuildData ItemType="PATCHABLE_IN_MODULE">
|
||||
<C_Name>PcdWinNtBinaryPatch2</C_Name>
|
||||
<Token>0x0001000c</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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>0x5678</DefaultValue>
|
||||
</PcdBuildData>
|
||||
<PcdBuildData ItemType="FEATURE_FLAG">
|
||||
<C_Name>PcdWinNtFeatureFlag1</C_Name>
|
||||
<Token>0x0001000d</Token>
|
||||
<DatumType>BOOLEAN</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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>0x1</DefaultValue>
|
||||
</PcdBuildData>
|
||||
<PcdBuildData ItemType="DYNAMIC">
|
||||
<C_Name>PcdWinNtDynamicUINT32</C_Name>
|
||||
<Token>0x0001000e</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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>0x0</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>0x00</MaxSku>
|
||||
<SkuId>0x00</SkuId>
|
||||
<DatumSize>4</DatumSize>
|
||||
<VariableGuid>0</VariableGuid>
|
||||
<VariableName>L""</VariableName>
|
||||
<DataOffset>0</DataOffset>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>0x8</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>0x00</MaxSku>
|
||||
<SkuId>0x00</SkuId>
|
||||
<DatumSize>4</DatumSize>
|
||||
<VariableGuid>0</VariableGuid>
|
||||
<VariableName>L""</VariableName>
|
||||
<DataOffset>0</DataOffset>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>0x0</DefaultValue>
|
||||
</PcdBuildData>
|
||||
<PcdBuildData ItemType="DYNAMIC">
|
||||
<C_Name>PcdTestDynamicUint8</C_Name>
|
||||
<Token>0x00011000</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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>0x1</DefaultValue>
|
||||
</PcdBuildData>
|
||||
<PcdBuildData ItemType="DYNAMIC">
|
||||
<C_Name>PcdTestDynamicUint16</C_Name>
|
||||
<Token>0x00011001</Token>
|
||||
<DatumType>UINT16</DatumType>
|
||||
<HiiEnable>false</HiiEnable>
|
||||
<VpdEnable>false</VpdEnable>
|
||||
<AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>
|
||||
<SkuEnable>false</SkuEnable>
|
||||
<SkuDataArrayEnable>false</SkuDataArrayEnable>
|
||||
<MaxSku>0x00</MaxSku>
|
||||
<SkuId>0x00</SkuId>
|
||||
<DatumSize>2</DatumSize>
|
||||
<VariableGuid>0</VariableGuid>
|
||||
<VariableName>L""</VariableName>
|
||||
<DataOffset>0</DataOffset>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>0x1234</DefaultValue>
|
||||
</PcdBuildData>
|
||||
<PcdBuildData ItemType="DYNAMIC">
|
||||
<C_Name>PcdTestDynamicUint32</C_Name>
|
||||
<Token>0x00011002</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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>NoDefault</DefaultValue>
|
||||
</PcdBuildData>
|
||||
<PcdBuildData ItemType="DYNAMIC">
|
||||
<C_Name>PcdTestDynamicUint64</C_Name>
|
||||
<Token>0x00011003</Token>
|
||||
<DatumType>UINT64</DatumType>
|
||||
<HiiEnable>false</HiiEnable>
|
||||
<VpdEnable>false</VpdEnable>
|
||||
<AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>
|
||||
<SkuEnable>false</SkuEnable>
|
||||
<SkuDataArrayEnable>false</SkuDataArrayEnable>
|
||||
<MaxSku>0x00</MaxSku>
|
||||
<SkuId>0x00</SkuId>
|
||||
<DatumSize>8</DatumSize>
|
||||
<VariableGuid>0</VariableGuid>
|
||||
<VariableName>L""</VariableName>
|
||||
<DataOffset>0</DataOffset>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>NoDefault</DefaultValue>
|
||||
</PcdBuildData>
|
||||
<PcdBuildData ItemType="DYNAMIC">
|
||||
<C_Name>PcdTestDynamicBoolean</C_Name>
|
||||
<Token>0x00011004</Token>
|
||||
<DatumType>BOOLEAN</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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>NoDefault</DefaultValue>
|
||||
</PcdBuildData>
|
||||
</PcdBuildDeclarations>
|
||||
<PcdDynamicBuildDeclarations>
|
||||
<PcdBuildData ItemType="DYNAMIC">
|
||||
<C_Name>PcdWinNtMemorySize</C_Name>
|
||||
|
|
|
@ -2793,188 +2793,6 @@
|
|||
|
||||
</OTHER_COMPONENTS>
|
||||
</FrameworkModules>
|
||||
<PcdBuildDeclarations>
|
||||
<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>0</MaxSku>
|
||||
<SkuId>0</SkuId>
|
||||
<DatumSize>4</DatumSize>
|
||||
<VariableGuid>0</VariableGuid>
|
||||
<VariableName>L""</VariableName>
|
||||
<DataOffset>0</DataOffset>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<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>0</MaxSku>
|
||||
<SkuId>0</SkuId>
|
||||
<DatumSize>4</DatumSize>
|
||||
<VariableGuid>0</VariableGuid>
|
||||
<VariableName>L""</VariableName>
|
||||
<DataOffset>0</DataOffset>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>1000000</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>0</MaxSku>
|
||||
<SkuId>0</SkuId>
|
||||
<DatumSize>4</DatumSize>
|
||||
<VariableGuid>0</VariableGuid>
|
||||
<VariableName>L""</VariableName>
|
||||
<DataOffset>0</DataOffset>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>1000000</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>0</MaxSku>
|
||||
<SkuId>0</SkuId>
|
||||
<DatumSize>4</DatumSize>
|
||||
<VariableGuid>0</VariableGuid>
|
||||
<VariableName>L""</VariableName>
|
||||
<DataOffset>0</DataOffset>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>10000000</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>0</MaxSku>
|
||||
<SkuId>0</SkuId>
|
||||
<DatumSize>1</DatumSize>
|
||||
<VariableGuid>0</VariableGuid>
|
||||
<VariableName>L""</VariableName>
|
||||
<DataOffset>0</DataOffset>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>0</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>0</MaxSku>
|
||||
<SkuId>0</SkuId>
|
||||
<DatumSize>4</DatumSize>
|
||||
<VariableGuid>0</VariableGuid>
|
||||
<VariableName>L""</VariableName>
|
||||
<DataOffset>0</DataOffset>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<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>0</MaxSku>
|
||||
<SkuId>0</SkuId>
|
||||
<DatumSize>1</DatumSize>
|
||||
<VariableGuid>0</VariableGuid>
|
||||
<VariableName>L""</VariableName>
|
||||
<DataOffset>0</DataOffset>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>0</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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>0xAF</DefaultValue>
|
||||
</PcdBuildData>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdPerformanceLibraryPropertyMask</C_Name>
|
||||
<Token>0x00000009</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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>0x0</DefaultValue>
|
||||
</PcdBuildData>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdPciExpressBaseAddress</C_Name>
|
||||
<Token>0x0000000A</Token>
|
||||
<DatumType>UINT64</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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>0xE0000000</DefaultValue>
|
||||
</PcdBuildData>
|
||||
</PcdBuildDeclarations>
|
||||
<BuildOptions>
|
||||
<OutputDirectory IntermediateDirectories="UNIFIED"/>
|
||||
</BuildOptions>
|
||||
|
|
|
@ -1005,188 +1005,6 @@
|
|||
</ModuleSA>
|
||||
</OTHER_COMPONENTS>
|
||||
</FrameworkModules>
|
||||
<PcdBuildDeclarations>
|
||||
<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>0</MaxSku>
|
||||
<SkuId>0</SkuId>
|
||||
<DatumSize>4</DatumSize>
|
||||
<VariableGuid>0</VariableGuid>
|
||||
<VariableName>L""</VariableName>
|
||||
<DataOffset>0</DataOffset>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<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>0</MaxSku>
|
||||
<SkuId>0</SkuId>
|
||||
<DatumSize>4</DatumSize>
|
||||
<VariableGuid>0</VariableGuid>
|
||||
<VariableName>L""</VariableName>
|
||||
<DataOffset>0</DataOffset>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>1000000</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>0</MaxSku>
|
||||
<SkuId>0</SkuId>
|
||||
<DatumSize>4</DatumSize>
|
||||
<VariableGuid>0</VariableGuid>
|
||||
<VariableName>L""</VariableName>
|
||||
<DataOffset>0</DataOffset>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>1000000</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>0</MaxSku>
|
||||
<SkuId>0</SkuId>
|
||||
<DatumSize>4</DatumSize>
|
||||
<VariableGuid>0</VariableGuid>
|
||||
<VariableName>L""</VariableName>
|
||||
<DataOffset>0</DataOffset>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>10000000</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>0</MaxSku>
|
||||
<SkuId>0</SkuId>
|
||||
<DatumSize>1</DatumSize>
|
||||
<VariableGuid>0</VariableGuid>
|
||||
<VariableName>L""</VariableName>
|
||||
<DataOffset>0</DataOffset>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>0</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>0</MaxSku>
|
||||
<SkuId>0</SkuId>
|
||||
<DatumSize>4</DatumSize>
|
||||
<VariableGuid>0</VariableGuid>
|
||||
<VariableName>L""</VariableName>
|
||||
<DataOffset>0</DataOffset>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<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>0</MaxSku>
|
||||
<SkuId>0</SkuId>
|
||||
<DatumSize>1</DatumSize>
|
||||
<VariableGuid>0</VariableGuid>
|
||||
<VariableName>L""</VariableName>
|
||||
<DataOffset>0</DataOffset>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>0</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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>0xAF</DefaultValue>
|
||||
</PcdBuildData>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdPerformanceLibraryPropertyMask</C_Name>
|
||||
<Token>0x00000009</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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>0x0</DefaultValue>
|
||||
</PcdBuildData>
|
||||
<PcdBuildData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdPciExpressBaseAddress</C_Name>
|
||||
<Token>0x0000000A</Token>
|
||||
<DatumType>UINT64</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>
|
||||
<GuidOffset>0</GuidOffset>
|
||||
<DefaultValue>0xE0000000</DefaultValue>
|
||||
</PcdBuildData>
|
||||
</PcdBuildDeclarations>
|
||||
<BuildOptions>
|
||||
<OutputDirectory IntermediateDirectories="UNIFIED"/>
|
||||
</BuildOptions>
|
||||
|
|
|
@ -408,8 +408,14 @@ public class AutoGen {
|
|||
// isPCDEmulatedDriver parameter will be removed.
|
||||
//
|
||||
try {
|
||||
this.myPcdAutogen = new PCDAutoGenAction(baseName,
|
||||
baseName.equalsIgnoreCase("PcdEmulatorPeim"));
|
||||
this.myPcdAutogen = new PCDAutoGenAction(baseName,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
this.arch,
|
||||
null,
|
||||
baseName.equalsIgnoreCase("PcdEmulatorPeim"),
|
||||
false);
|
||||
this.myPcdAutogen.execute();
|
||||
} catch (Exception e) {
|
||||
throw new BuildException("PCD Autogen failed:" + e.getMessage());
|
||||
|
@ -543,8 +549,14 @@ public class AutoGen {
|
|||
// isPCDEmulatedDriver parameter will be removed.
|
||||
//
|
||||
try {
|
||||
this.myPcdAutogen = new PCDAutoGenAction(baseName, baseName
|
||||
.equalsIgnoreCase("PcdEmulatorPeim"));
|
||||
this.myPcdAutogen = new PCDAutoGenAction(baseName,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
this.arch,
|
||||
null,
|
||||
baseName.equalsIgnoreCase("PcdEmulatorPeim"),
|
||||
true);
|
||||
this.myPcdAutogen.execute();
|
||||
} catch (Exception e) {
|
||||
throw new BuildException(e.getMessage());
|
||||
|
|
|
@ -785,12 +785,6 @@ public class FpdParserTask extends Task {
|
|||
public void collectPCDInformation() {
|
||||
CollectPCDAction collectAction = new CollectPCDAction ();
|
||||
//
|
||||
// Set memory database log file path. It should be put into same directory with FPD file.
|
||||
//
|
||||
GlobalData.getPCDMemoryDBManager().setLogFileName(
|
||||
fpdFilename.getPath() + ".PCDMemroyDatabaseLog.txt"
|
||||
);
|
||||
//
|
||||
// Collect all PCD information from FPD to MSA, and get help information from SPD.
|
||||
// These all information will be stored into memory database for future usage such
|
||||
// as autogen.
|
||||
|
@ -802,7 +796,7 @@ public class FpdParserTask extends Task {
|
|||
ActionMessage.MAX_MESSAGE_LEVEL
|
||||
);
|
||||
} catch (Exception exp) {
|
||||
throw new BuildException (exp.getMessage());
|
||||
throw new BuildException (String.format("Fail to do PCD preprocess from FPD file, the cause is %s", exp.getMessage()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -18,6 +18,7 @@ package org.tianocore.build.pcd.action;
|
|||
|
||||
import java.io.File;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.tianocore.build.global.GlobalData;
|
||||
import org.tianocore.build.pcd.entity.MemoryDatabaseManager;
|
||||
|
@ -39,11 +40,35 @@ public class PCDAutoGenAction extends BuildAction {
|
|||
///
|
||||
private String moduleName;
|
||||
///
|
||||
/// The Guid of module which is analyzed currently.
|
||||
///
|
||||
private UUID moduleGuid;
|
||||
///
|
||||
/// The name of package whose module is analysized currently.
|
||||
///
|
||||
private String packageName;
|
||||
///
|
||||
/// The Guid of package whose module is analyszed curretnly.
|
||||
///
|
||||
private UUID packageGuid;
|
||||
///
|
||||
/// The arch of current module
|
||||
///
|
||||
private String arch;
|
||||
///
|
||||
/// The version of current module
|
||||
///
|
||||
private String version;
|
||||
///
|
||||
/// Wheter current module is PCD emulated driver. It is only for
|
||||
/// emulated PCD driver and will be kept until PCD IMAGE tool ready.
|
||||
///
|
||||
private boolean isEmulatedPCDDriver;
|
||||
///
|
||||
/// Whether current autogen is for building library used by current module.
|
||||
///
|
||||
private boolean isBuildUsedLibrary;
|
||||
///
|
||||
/// The generated string for header file.
|
||||
///
|
||||
private String hAutoGenString;
|
||||
|
@ -61,6 +86,26 @@ public class PCDAutoGenAction extends BuildAction {
|
|||
this.moduleName = moduleName;
|
||||
}
|
||||
|
||||
public void setModuleGuid(UUID moduleGuid) {
|
||||
this.moduleGuid = moduleGuid;
|
||||
}
|
||||
|
||||
public void setPackageName(String packageName) {
|
||||
this.packageName = packageName;
|
||||
}
|
||||
|
||||
public void setPackageGuid(UUID packageGuid) {
|
||||
this.packageGuid = packageGuid;
|
||||
}
|
||||
|
||||
public void setArch(String arch) {
|
||||
this.arch = arch;
|
||||
}
|
||||
|
||||
public void setVersion(String version) {
|
||||
this.version = version;
|
||||
}
|
||||
|
||||
/**
|
||||
Set parameter isEmulatedPCDDriver
|
||||
|
||||
|
@ -70,6 +115,10 @@ public class PCDAutoGenAction extends BuildAction {
|
|||
this.isEmulatedPCDDriver = isEmulatedPCDDriver;
|
||||
}
|
||||
|
||||
public void setIsBuildUsedLibrary(boolean isBuildUsedLibrary) {
|
||||
this.isBuildUsedLibrary = isBuildUsedLibrary;
|
||||
}
|
||||
|
||||
/**
|
||||
Get the output of generated string for header file.
|
||||
|
||||
|
@ -96,10 +145,26 @@ public class PCDAutoGenAction extends BuildAction {
|
|||
@param moduleName Parameter of this action class.
|
||||
@param isEmulatedPCDDriver Parameter of this action class.
|
||||
**/
|
||||
public PCDAutoGenAction(String moduleName, boolean isEmulatedPCDDriver) {
|
||||
dbManager = null;
|
||||
public PCDAutoGenAction(String moduleName,
|
||||
UUID moduleGuid,
|
||||
String packageName,
|
||||
UUID packageGuid,
|
||||
String arch,
|
||||
String version,
|
||||
boolean isEmulatedPCDDriver,
|
||||
boolean isBuildUsedLibrary) {
|
||||
dbManager = null;
|
||||
hAutoGenString = "";
|
||||
cAutoGenString = "";
|
||||
|
||||
setIsEmulatedPCDDriver(isEmulatedPCDDriver);
|
||||
setModuleName(moduleName);
|
||||
setModuleGuid(moduleGuid);
|
||||
setPackageName(packageName);
|
||||
setPackageGuid(packageGuid);
|
||||
setArch(arch);
|
||||
setVersion(version);
|
||||
setIsBuildUsedLibrary(isBuildUsedLibrary);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -130,7 +195,6 @@ public class PCDAutoGenAction extends BuildAction {
|
|||
void performAction() throws BuildActionException {
|
||||
ActionMessage.debug(this,
|
||||
"Starting PCDAutoGenAction to generate autogen.h and autogen.c!...");
|
||||
|
||||
//
|
||||
// Check the PCD memory database manager is valid.
|
||||
//
|
||||
|
@ -141,20 +205,15 @@ public class PCDAutoGenAction extends BuildAction {
|
|||
dbManager = GlobalData.getPCDMemoryDBManager();
|
||||
|
||||
if(dbManager.getDBSize() == 0) {
|
||||
return;
|
||||
return;
|
||||
}
|
||||
|
||||
ActionMessage.debug(this,
|
||||
"PCD memory database contains " + dbManager.getDBSize() + " PCD tokens");
|
||||
|
||||
hAutoGenString = "";
|
||||
cAutoGenString = "";
|
||||
|
||||
if(isEmulatedPCDDriver) {
|
||||
generateAutogenForPCDEmulatedDriver();
|
||||
} else {
|
||||
generateAutogenForModule();
|
||||
}
|
||||
|
||||
generateAutogenForModule();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -168,7 +227,30 @@ public class PCDAutoGenAction extends BuildAction {
|
|||
int index;
|
||||
List<UsageInstance> usageInstanceArray;
|
||||
|
||||
usageInstanceArray = dbManager.getUsageInstanceArrayByModuleName(moduleName);
|
||||
if (!isBuildUsedLibrary) {
|
||||
usageInstanceArray = dbManager.getUsageInstanceArrayByModuleName(moduleName,
|
||||
moduleGuid,
|
||||
packageName,
|
||||
packageGuid,
|
||||
arch,
|
||||
version);
|
||||
dbManager.UsageInstanceContext = usageInstanceArray;
|
||||
dbManager.CurrentModuleName = moduleName;
|
||||
} else {
|
||||
usageInstanceArray = dbManager.UsageInstanceContext;
|
||||
//
|
||||
// For building MDE package, although all module are library, but PCD entries of
|
||||
// these library should be used to autogen.
|
||||
//
|
||||
if (usageInstanceArray == null) {
|
||||
usageInstanceArray = dbManager.getUsageInstanceArrayByModuleName(moduleName,
|
||||
moduleGuid,
|
||||
packageName,
|
||||
packageGuid,
|
||||
arch,
|
||||
version);
|
||||
}
|
||||
}
|
||||
|
||||
if(usageInstanceArray.size() != 0) {
|
||||
//
|
||||
|
@ -182,7 +264,7 @@ public class PCDAutoGenAction extends BuildAction {
|
|||
"Module " + moduleName + "'s PCD [" + Integer.toHexString(index) +
|
||||
"]: " + usageInstanceArray.get(index).parentToken.cName);
|
||||
try {
|
||||
usageInstanceArray.get(index).generateAutoGen();
|
||||
usageInstanceArray.get(index).generateAutoGen(isBuildUsedLibrary);
|
||||
hAutoGenString += usageInstanceArray.get(index).getHAutogenStr() + "\r\n";
|
||||
cAutoGenString += usageInstanceArray.get(index).getCAutogenStr() + "\r\n";
|
||||
} catch(EntityException exp) {
|
||||
|
@ -190,6 +272,10 @@ public class PCDAutoGenAction extends BuildAction {
|
|||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Work around code, In furture following code should be modified that get
|
||||
// these information from Uplevel Autogen tools.
|
||||
//
|
||||
if (moduleName.equalsIgnoreCase("PcdPeim")) {
|
||||
hAutoGenString += dbManager.PcdPeimHString;
|
||||
cAutoGenString += dbManager.PcdPeimCString;
|
||||
|
@ -206,64 +292,6 @@ public class PCDAutoGenAction extends BuildAction {
|
|||
);
|
||||
}
|
||||
|
||||
/**
|
||||
Generate all PCD autogen string and the emulated PCD IMAGE array for emulated driver.
|
||||
|
||||
Currently, we should generated all PCD information(maybe all dynamic) as array
|
||||
in Pei emulated driver for simulating PCD runtime database.
|
||||
|
||||
**/
|
||||
private void generateAutogenForPCDEmulatedDriver() {
|
||||
int index;
|
||||
Token[] tokenArray;
|
||||
UsageInstance usageInstance;
|
||||
|
||||
//
|
||||
// Add "#include 'PcdLib.h'" for Header file
|
||||
//
|
||||
hAutoGenString = "#include <MdePkg/Include/Library/PcdLib.h>\r\n";
|
||||
|
||||
tokenArray = dbManager.getRecordArray();
|
||||
for(index = 0; index < tokenArray.length; index ++) {
|
||||
//
|
||||
// Get one consumer instance and generate autogen for this token.
|
||||
//
|
||||
if(tokenArray[index].consumers != null ) {
|
||||
if(tokenArray[index].consumers.size() != 0) {
|
||||
usageInstance = tokenArray[index].consumers.get(0);
|
||||
try {
|
||||
usageInstance.generateAutoGen();
|
||||
} catch(EntityException exp) {
|
||||
throw new BuildActionException(exp.getMessage());
|
||||
}
|
||||
|
||||
hAutoGenString += usageInstance.getHAutogenStr();
|
||||
cAutoGenString += usageInstance.getCAutogenStr();
|
||||
|
||||
hAutoGenString += "\r\n";
|
||||
cAutoGenString += "\r\n";
|
||||
} else {
|
||||
//
|
||||
// If the PCD does *not* usded by any module, also generate
|
||||
// it into autogen.h/autogen.c in Pcd driver according the
|
||||
// information in FPD file.
|
||||
//
|
||||
generateUnReferencePcdAutogenString(tokenArray[index]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
generatePCDEmulatedArray(tokenArray);
|
||||
|
||||
ActionMessage.debug(this,
|
||||
"PCD emulated driver's header: \r\n" + hAutoGenString + "\r\n"
|
||||
);
|
||||
ActionMessage.debug(this,
|
||||
"PCD emulated driver's C code: \r\n" + cAutoGenString + "\r\n"
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
Generate unreference token definition string for PCD emulated string.
|
||||
|
||||
|
@ -369,157 +397,6 @@ public class PCDAutoGenAction extends BuildAction {
|
|||
cAutoGenString += "\r\n";
|
||||
}
|
||||
|
||||
/**
|
||||
Generate PCDEmulated array in PCDEmulated driver for emulated runtime database.
|
||||
|
||||
@param tokenArray All PCD token in memory database.
|
||||
|
||||
@throws BuildActionException Unknown PCD_TYPE
|
||||
**/
|
||||
private void generatePCDEmulatedArray(Token[] tokenArray)
|
||||
throws BuildActionException {
|
||||
int index;
|
||||
Token token;
|
||||
String[] guidStrArray;
|
||||
String value;
|
||||
|
||||
//
|
||||
// The value of String type of PCD entry maybe use byte array but not string direcly
|
||||
// such as {0x1, 0x2, 0x3}, and define PCD1_STRING_Value as L"string define here"
|
||||
// For this case, we should generate a string array to C output and use the address
|
||||
// of generated string array.
|
||||
//
|
||||
for(index = 0; index < tokenArray.length; index ++) {
|
||||
token = tokenArray[index];
|
||||
|
||||
value = token.datum.toString();
|
||||
if(token.datumType == Token.DATUM_TYPE.POINTER) {
|
||||
if(!((value.charAt(0) == 'L' && value.charAt(1) == '"') ||(value.charAt(0) == '"'))) {
|
||||
cAutoGenString += String.format("UINT8 _mPcdArray%08x[] = %s;\r\n",
|
||||
index,
|
||||
value
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Output emulated PCD entry array
|
||||
//
|
||||
cAutoGenString += "\r\nEMULATED_PCD_ENTRY gEmulatedPcdEntry[] = {\r\n";
|
||||
|
||||
for(index = 0; index < tokenArray.length; index ++) {
|
||||
token = tokenArray[index];
|
||||
|
||||
if(index != 0) {
|
||||
cAutoGenString += ",\r\n";
|
||||
}
|
||||
|
||||
//
|
||||
// Print Start "{" for a Token item in array
|
||||
//
|
||||
cAutoGenString += " {\r\n";
|
||||
|
||||
//
|
||||
// Print Token Name
|
||||
//
|
||||
cAutoGenString += String.format(" _PCD_TOKEN_%s,\r\n", token.cName);
|
||||
|
||||
//
|
||||
// Print Hii information
|
||||
//
|
||||
if(token.hiiEnabled) {
|
||||
cAutoGenString += String.format(" TRUE,\r\n");
|
||||
} else {
|
||||
cAutoGenString += String.format(" FALSE,\r\n");
|
||||
}
|
||||
|
||||
//
|
||||
// Print sku information
|
||||
//
|
||||
if(token.skuEnabled) {
|
||||
cAutoGenString += String.format(" TRUE,\r\n");
|
||||
} else {
|
||||
cAutoGenString += String.format(" FALSE,\r\n");
|
||||
}
|
||||
|
||||
//
|
||||
// Print maxSkuCount
|
||||
//
|
||||
cAutoGenString += String.format(" %d,\r\n", token.maxSkuCount);
|
||||
|
||||
cAutoGenString += String.format(" %d,\r\n", token.skuId);
|
||||
|
||||
if(token.variableGuid == null) {
|
||||
cAutoGenString += " { 0x00000000, 0x0000, 0x0000, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },\r\n";
|
||||
} else {
|
||||
guidStrArray =(token.variableGuid.toString()).split("-");
|
||||
|
||||
cAutoGenString += String.format(" { 0x%s, 0x%s, 0x%s, { 0x%s, 0x%s, 0x%s, 0x%s, 0x%s, 0x%s, 0x%s, 0x%s } },\r\n",
|
||||
guidStrArray[0],
|
||||
guidStrArray[1],
|
||||
guidStrArray[2],
|
||||
(guidStrArray[3].substring(0, 2)),
|
||||
(guidStrArray[3].substring(2, 4)),
|
||||
(guidStrArray[4].substring(0, 2)),
|
||||
(guidStrArray[4].substring(2, 4)),
|
||||
(guidStrArray[4].substring(4, 6)),
|
||||
(guidStrArray[4].substring(6, 8)),
|
||||
(guidStrArray[4].substring(8, 10)),
|
||||
(guidStrArray[4].substring(10, 12))
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
value = token.datum.toString();
|
||||
if(token.datumType == Token.DATUM_TYPE.POINTER) {
|
||||
if((value.charAt(0) == 'L' && value.charAt(1) == '"') || value.charAt(0) == '"') {
|
||||
cAutoGenString += String.format(" sizeof(_PCD_VALUE_%s),\r\n", token.cName);
|
||||
cAutoGenString += String.format(" 0, %s, %s,\r\n", token.variableName, value);
|
||||
} else {
|
||||
cAutoGenString += String.format(" sizeof(_mPcdArray%08x),\r\n", index);
|
||||
cAutoGenString += String.format(" 0, &_mPcdArray%08x, %s,\r\n", index, token.variableName);
|
||||
}
|
||||
} else {
|
||||
switch(token.datumType) {
|
||||
case UINT8:
|
||||
cAutoGenString += " 1,\r\n";
|
||||
break;
|
||||
case UINT16:
|
||||
cAutoGenString += " 2,\r\n";
|
||||
break;
|
||||
case UINT32:
|
||||
cAutoGenString += " 4,\r\n";
|
||||
break;
|
||||
case UINT64:
|
||||
cAutoGenString += " 8,\r\n";
|
||||
break;
|
||||
case BOOLEAN:
|
||||
cAutoGenString += " 1,\r\n";
|
||||
break;
|
||||
default:
|
||||
throw new BuildActionException("Unknown datum size");
|
||||
}
|
||||
cAutoGenString += String.format(" %s, %s, NULL,\r\n", value, token.variableName);
|
||||
}
|
||||
|
||||
//
|
||||
// Print end "}" for a token item in array
|
||||
//
|
||||
cAutoGenString += " }";
|
||||
}
|
||||
|
||||
cAutoGenString += "\r\n};\r\n";
|
||||
cAutoGenString += "\r\n";
|
||||
cAutoGenString += "UINTN\r\n";
|
||||
cAutoGenString += "GetPcdDataBaseSize(\r\n";
|
||||
cAutoGenString += " VOID\r\n";
|
||||
cAutoGenString += " )\r\n";
|
||||
cAutoGenString += "{\r\n";
|
||||
cAutoGenString += " return sizeof(gEmulatedPcdEntry);\r\n";
|
||||
cAutoGenString += "}\r\n";
|
||||
}
|
||||
|
||||
/**
|
||||
Test case function
|
||||
|
||||
|
@ -527,8 +404,8 @@ public class PCDAutoGenAction extends BuildAction {
|
|||
**/
|
||||
public static void main(String argv[]) {
|
||||
|
||||
String WorkSpace = "X:/edk2";
|
||||
String logFilePath = WorkSpace + "/EdkNt32Pkg/Nt32.fpd";
|
||||
String WorkSpace = "M:/ForPcd/edk2";
|
||||
String logFilePath = WorkSpace + "/MdePkg/MdePkg.fpd";
|
||||
|
||||
//
|
||||
// At first, CollectPCDAction should be invoked to collect
|
||||
|
@ -538,8 +415,6 @@ public class PCDAutoGenAction extends BuildAction {
|
|||
GlobalData.initInfo("Tools" + File.separator + "Conf" + File.separator + "FrameworkDatabase.db",
|
||||
WorkSpace);
|
||||
|
||||
GlobalData.getPCDMemoryDBManager().setLogFileName(logFilePath + ".PCDMemroyDatabaseLog.txt");
|
||||
|
||||
try {
|
||||
collectionAction.perform(WorkSpace,
|
||||
logFilePath,
|
||||
|
@ -551,7 +426,13 @@ public class PCDAutoGenAction extends BuildAction {
|
|||
//
|
||||
// Then execute the PCDAuotoGenAction to get generated Autogen.h and Autogen.c
|
||||
//
|
||||
PCDAutoGenAction autogenAction = new PCDAutoGenAction("PcdDxe",
|
||||
PCDAutoGenAction autogenAction = new PCDAutoGenAction("BaseLib",
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
false,
|
||||
false
|
||||
);
|
||||
autogenAction.execute();
|
||||
|
|
|
@ -93,7 +93,6 @@ public class ShowPCDDatabaseAction extends UIAction {
|
|||
//
|
||||
GlobalData.initInfo("Tools" + File.separator + "Conf" + File.separator + "FrameworkDatabase.db",
|
||||
workspacePath);
|
||||
GlobalData.getPCDMemoryDBManager().setLogFileName(fpdFilePath + ".PCDMemroyDatabaseLog.txt");
|
||||
|
||||
//
|
||||
// Collect PCD information.
|
||||
|
@ -123,8 +122,10 @@ public class ShowPCDDatabaseAction extends UIAction {
|
|||
**/
|
||||
public static void main(String[] argv) throws UIException {
|
||||
ShowPCDDatabaseAction showAction = new ShowPCDDatabaseAction();
|
||||
showAction.setWorkspacePath(argv[0]);
|
||||
showAction.setFPDFilePath(argv[1]);
|
||||
//showAction.setWorkspacePath(argv[0]);
|
||||
//showAction.setFPDFilePath(argv[1]);
|
||||
showAction.setWorkspacePath("M:/tianocore/edk2/trunk/edk2");
|
||||
showAction.setFPDFilePath("EdkNt32Pkg/Nt32.fpd");
|
||||
showAction.execute();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,8 +26,8 @@ import java.util.HashMap;
|
|||
import java.util.Hashtable;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.tianocore.build.autogen.CommonDefinition;
|
||||
import org.tianocore.build.pcd.action.ActionMessage;
|
||||
|
||||
/** Database hold all PCD information comes from SPD, MSA, FPD file in memory.
|
||||
|
@ -37,12 +37,18 @@ public class MemoryDatabaseManager {
|
|||
/// Memory database. The string "cName + SpaceNameGuid" is primary key.
|
||||
/// memory database is in global scope, and it will be used for others PCD tools.
|
||||
///
|
||||
private static Map<String, Token> memoryDatabase = null;
|
||||
///
|
||||
/// The log file name for dumping memory database.
|
||||
///
|
||||
private static String logFileName = null;
|
||||
private static Map<String, Token> memoryDatabase = null;
|
||||
|
||||
///
|
||||
/// Before build a module, the used libary will be build firstly, the PCD of these
|
||||
/// libarry is inheritted by the module, so stored module's PCD information as PCD
|
||||
/// context of building libary.
|
||||
///
|
||||
public static List<UsageInstance> UsageInstanceContext = null;
|
||||
///
|
||||
///
|
||||
///
|
||||
public static String CurrentModuleName = null;
|
||||
public static String PcdPeimHString = "";
|
||||
public static String PcdPeimCString = "";
|
||||
public static String PcdDxeHString = "";
|
||||
|
@ -60,22 +66,6 @@ public class MemoryDatabaseManager {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Get the log file name.
|
||||
**/
|
||||
public String getLogFileName() {
|
||||
return logFileName;
|
||||
}
|
||||
|
||||
/**
|
||||
Set parameter log file name.
|
||||
|
||||
@param fileName log file name parameter.
|
||||
**/
|
||||
public void setLogFileName(String fileName) {
|
||||
logFileName = fileName;
|
||||
}
|
||||
|
||||
/**
|
||||
Judege whether token exists in memory database
|
||||
|
||||
|
@ -143,8 +133,12 @@ public class MemoryDatabaseManager {
|
|||
return tokenArray;
|
||||
}
|
||||
|
||||
|
||||
private ArrayList<Token> getDynamicRecordArray() {
|
||||
/**
|
||||
Get record array only contains DYNAMIC or DYNAMIC_EX type PCD.
|
||||
|
||||
@return ArrayList
|
||||
*/
|
||||
private ArrayList getDynamicRecordArray() {
|
||||
Token[] tokenArray = getRecordArray();
|
||||
int index = 0;
|
||||
int count = 0;
|
||||
|
@ -170,40 +164,28 @@ public class MemoryDatabaseManager {
|
|||
public void getTwoPhaseDynamicRecordArray(ArrayList<Token> pei, ArrayList<Token> dxe) {
|
||||
int usageInstanceIndex = 0;
|
||||
int index = 0;
|
||||
ArrayList<Token> tokenArrayList = getDynamicRecordArray();
|
||||
List<UsageInstance> usageInstanceArray = null;
|
||||
ArrayList tokenArrayList = getDynamicRecordArray();
|
||||
Object[] usageInstanceArray = null;
|
||||
UsageInstance usageInstance = null;
|
||||
|
||||
//pei = new ArrayList<Token>();
|
||||
//dxe = new ArrayList<Token>();
|
||||
|
||||
for (index = 0; index < tokenArrayList.size(); index++) {
|
||||
boolean found = false;
|
||||
Token token = (Token) tokenArrayList.get(index);
|
||||
if (token.producers != null) {
|
||||
usageInstanceArray = token.producers;
|
||||
for (usageInstanceIndex = 0; usageInstanceIndex < usageInstanceArray.size(); usageInstanceIndex++) {
|
||||
usageInstance = (UsageInstance) usageInstanceArray.get(usageInstanceIndex);
|
||||
if (CommonDefinition.isPeiPhaseComponent(usageInstance.componentType)) {
|
||||
if (token.consumers != null) {
|
||||
usageInstanceArray = token.consumers.entrySet().toArray();
|
||||
for (usageInstanceIndex = 0; usageInstanceIndex < token.consumers.size(); usageInstanceIndex ++) {
|
||||
usageInstance =(UsageInstance) (((Map.Entry)usageInstanceArray[usageInstanceIndex]).getValue());
|
||||
if (usageInstance.isPeiPhaseComponent()) {
|
||||
pei.add(token);
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if (!found) {
|
||||
if (token.consumers != null) {
|
||||
usageInstanceArray = token.consumers;
|
||||
for (usageInstanceIndex = 0; usageInstanceIndex < usageInstanceArray.size(); usageInstanceIndex ++) {
|
||||
usageInstance =(UsageInstance) usageInstanceArray.get(usageInstanceIndex);
|
||||
if (CommonDefinition.isPeiPhaseComponent(usageInstance.componentType)) {
|
||||
pei.add(token);
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// If no PEI components reference the PCD entry, we insert it to DXE list
|
||||
//
|
||||
if (!found) {
|
||||
|
@ -215,17 +197,40 @@ public class MemoryDatabaseManager {
|
|||
}
|
||||
|
||||
/**
|
||||
Get all PCD record for a module according to module's name.
|
||||
Get all PCD record for a module according to module's name, module's GUID,
|
||||
package name, package GUID, arch, version information.
|
||||
|
||||
@param moduleName the name of module.
|
||||
|
||||
@return all usage instance for this module in memory database.
|
||||
**/
|
||||
public List<UsageInstance> getUsageInstanceArrayByModuleName(String moduleName) {
|
||||
public List<UsageInstance> getUsageInstanceArrayByModuleName(String moduleName,
|
||||
UUID moduleGuid,
|
||||
String packageName,
|
||||
UUID packageGuid,
|
||||
String arch,
|
||||
String version) {
|
||||
|
||||
String primaryKey = UsageInstance.getPrimaryKey(moduleName,
|
||||
moduleGuid,
|
||||
packageName,
|
||||
packageGuid,
|
||||
arch,
|
||||
version);
|
||||
|
||||
return getUsageInstanceArrayByKeyString(primaryKey);
|
||||
}
|
||||
|
||||
/**
|
||||
Get all PCD token for a usage instance according to primary key.
|
||||
|
||||
@param primaryKey the primary key of usage instance.
|
||||
|
||||
@return List<UsageInstance>
|
||||
*/
|
||||
public List<UsageInstance> getUsageInstanceArrayByKeyString(String primaryKey) {
|
||||
Token[] tokenArray = null;
|
||||
int recordIndex = 0;
|
||||
int usageInstanceIndex = 0;
|
||||
List<UsageInstance> usageInstanceArray = null;
|
||||
UsageInstance usageInstance = null;
|
||||
List<UsageInstance> returnArray = new ArrayList<UsageInstance>();
|
||||
|
||||
|
@ -235,29 +240,12 @@ public class MemoryDatabaseManager {
|
|||
// Loop to find all PCD record related to current module
|
||||
//
|
||||
for (recordIndex = 0; recordIndex < getDBSize(); recordIndex ++) {
|
||||
if (tokenArray[recordIndex].producers != null) {
|
||||
usageInstanceArray = tokenArray[recordIndex].producers;
|
||||
for (usageInstanceIndex = 0; usageInstanceIndex < usageInstanceArray.size(); usageInstanceIndex ++) {
|
||||
usageInstance =(UsageInstance) usageInstanceArray.get(usageInstanceIndex);
|
||||
if (usageInstance.moduleName.equalsIgnoreCase(moduleName)) {
|
||||
returnArray.add(usageInstance);
|
||||
}
|
||||
if (tokenArray[recordIndex].consumers.size() != 0) {
|
||||
usageInstance = tokenArray[recordIndex].consumers.get(primaryKey);
|
||||
if (usageInstance != null) {
|
||||
returnArray.add(usageInstance);
|
||||
}
|
||||
}
|
||||
|
||||
if (tokenArray[recordIndex].consumers != null) {
|
||||
usageInstanceArray = tokenArray[recordIndex].consumers;
|
||||
for (usageInstanceIndex = 0; usageInstanceIndex < usageInstanceArray.size(); usageInstanceIndex ++) {
|
||||
usageInstance =(UsageInstance) usageInstanceArray.get(usageInstanceIndex);
|
||||
if (usageInstance.moduleName.equalsIgnoreCase(moduleName)) {
|
||||
returnArray.add(usageInstance);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (returnArray.size() == 0) {
|
||||
ActionMessage.warning(this, "Can *not* find any usage instance for " + moduleName + " !");
|
||||
}
|
||||
|
||||
return returnArray;
|
||||
|
@ -274,112 +262,31 @@ public class MemoryDatabaseManager {
|
|||
int usageIndex = 0;
|
||||
int moduleIndex = 0;
|
||||
Token[] tokenArray = null;
|
||||
Object[] usageInstanceArray = null;
|
||||
List<String> moduleNames = new ArrayList<String>();
|
||||
UsageInstance usageInstance = null;
|
||||
boolean bFound = false;
|
||||
|
||||
tokenArray = this.getRecordArray();
|
||||
//
|
||||
// Find all producer usage instance for retrieving module's name
|
||||
//
|
||||
for (indexToken = 0; indexToken < getDBSize(); indexToken ++) {
|
||||
for (usageIndex = 0; usageIndex < tokenArray[indexToken].producers.size(); usageIndex ++) {
|
||||
usageInstance = tokenArray[indexToken].producers.get(usageIndex);
|
||||
bFound = false;
|
||||
for (moduleIndex = 0; moduleIndex < moduleNames.size(); moduleIndex ++) {
|
||||
if (moduleNames.get(moduleIndex).equalsIgnoreCase(usageInstance.moduleName)) {
|
||||
bFound = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!bFound) {
|
||||
moduleNames.add(usageInstance.moduleName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tokenArray = getRecordArray();
|
||||
//
|
||||
// Find all consumer usage instance for retrieving module's name
|
||||
//
|
||||
for (indexToken = 0; indexToken < getDBSize(); indexToken ++) {
|
||||
usageInstanceArray = tokenArray[indexToken].consumers.entrySet().toArray();
|
||||
for (usageIndex = 0; usageIndex < tokenArray[indexToken].consumers.size(); usageIndex ++) {
|
||||
usageInstance = tokenArray[indexToken].consumers.get(usageIndex);
|
||||
usageInstance = (UsageInstance)((Map.Entry)usageInstanceArray[usageIndex]).getValue();
|
||||
bFound = false;
|
||||
for (moduleIndex = 0; moduleIndex < moduleNames.size(); moduleIndex ++) {
|
||||
if (moduleNames.get(moduleIndex).equalsIgnoreCase(usageInstance.moduleName)) {
|
||||
if (moduleNames.get(moduleIndex).equalsIgnoreCase(usageInstance.getPrimaryKey())) {
|
||||
bFound = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!bFound) {
|
||||
moduleNames.add(usageInstance.moduleName);
|
||||
moduleNames.add(usageInstance.getPrimaryKey());
|
||||
}
|
||||
}
|
||||
}
|
||||
return moduleNames;
|
||||
}
|
||||
|
||||
/**
|
||||
Dump all PCD record into file for reviewing.
|
||||
**/
|
||||
public void DumpAllRecords() {
|
||||
BufferedWriter bWriter = null;
|
||||
Object[] tokenArray = null;
|
||||
Map.Entry entry = null;
|
||||
Token token = null;
|
||||
int index = 0;
|
||||
int usageIndex = 0;
|
||||
UsageInstance usageInstance = null;
|
||||
String inheritString = null;
|
||||
String componentTypeName = null;
|
||||
|
||||
try {
|
||||
bWriter = new BufferedWriter(new FileWriter(new File(logFileName)));
|
||||
tokenArray = memoryDatabase.entrySet().toArray();
|
||||
for (index = 0; index < memoryDatabase.size(); index ++) {
|
||||
entry =(Map.Entry) tokenArray [index];
|
||||
token =(Token) entry.getValue();
|
||||
bWriter.write("****** token [" + Integer.toString(index) + "] ******\r\n");
|
||||
bWriter.write(" cName:" + token.cName + "\r\n");
|
||||
for (usageIndex = 0; usageIndex < token.producers.size(); usageIndex ++) {
|
||||
usageInstance =(UsageInstance)token.producers.get(usageIndex);
|
||||
componentTypeName = CommonDefinition.getComponentTypeString(usageInstance.componentType);
|
||||
|
||||
if (usageInstance.isInherit) {
|
||||
inheritString = "Inherit";
|
||||
} else {
|
||||
inheritString = "";
|
||||
}
|
||||
bWriter.write(String.format(" (Producer)#%d: %s:%s Package:%s %s\r\n",
|
||||
usageIndex,
|
||||
componentTypeName,
|
||||
usageInstance.moduleName,
|
||||
usageInstance.packageName,
|
||||
inheritString
|
||||
)
|
||||
);
|
||||
}
|
||||
for (usageIndex = 0; usageIndex < token.consumers.size(); usageIndex ++) {
|
||||
usageInstance =(UsageInstance)token.consumers.get(usageIndex);
|
||||
componentTypeName = CommonDefinition.getComponentTypeString(usageInstance.componentType);
|
||||
if (usageInstance.isInherit) {
|
||||
inheritString = "Inherit";
|
||||
} else {
|
||||
inheritString = "";
|
||||
}
|
||||
bWriter.write(String.format(" (Consumer)#%d: %s:%s Package:%s %s\r\n",
|
||||
usageIndex,
|
||||
componentTypeName,
|
||||
usageInstance.moduleName,
|
||||
usageInstance.packageName,
|
||||
inheritString
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
bWriter.close();
|
||||
} catch (IOException exp) {
|
||||
ActionMessage.warning(this, "Failed to open database log file: " + logFileName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,8 +18,11 @@ package org.tianocore.build.pcd.entity;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
import org.tianocore.build.pcd.action.ActionMessage;
|
||||
import org.tianocore.build.pcd.exception.EntityException;
|
||||
|
||||
/** This class is to descript a PCD token object. The information of a token mainly
|
||||
comes from MSA, SPD and setting produced by platform developer.
|
||||
|
@ -66,30 +69,11 @@ public class Token {
|
|||
///
|
||||
public int tokenNumber;
|
||||
|
||||
///
|
||||
/// The token space name assigned by platform. For Non-DynamicEx driver this value is same.
|
||||
/// assignedtokenSpaceName is defined in FPD.
|
||||
///
|
||||
public UUID assignedtokenSpaceName;
|
||||
|
||||
///
|
||||
/// The token number assigned by platform. The number indiect the offset of this token in platform
|
||||
/// token space.
|
||||
/// AssgiendtokenNumber is defined in FPD.
|
||||
///
|
||||
public int assignedtokenNumber;
|
||||
|
||||
///
|
||||
/// pcdType is the PCD item type defined by platform developer.
|
||||
///
|
||||
public PCD_TYPE pcdType;
|
||||
|
||||
///
|
||||
/// PCDtype is set by platform developer. It is final PCD type of this token.
|
||||
/// SupportedPcdType is defined in SPD.
|
||||
///
|
||||
public PCD_TYPE[] supportedpcdType;
|
||||
|
||||
///
|
||||
/// datumSize is to descript the fix size or max size for this token.
|
||||
/// datumSize is defined in SPD.
|
||||
|
@ -102,13 +86,6 @@ public class Token {
|
|||
///
|
||||
public DATUM_TYPE datumType;
|
||||
|
||||
///
|
||||
/// Isplatform is to descript whether this token is defined in platform level.
|
||||
/// If token is belong to platform level. The value can be different for every
|
||||
/// module. All are determined by platform developer.
|
||||
///
|
||||
public boolean isPlatform;
|
||||
|
||||
///
|
||||
/// hiiEnabled is to indicate whether the token support Hii functionality.
|
||||
/// hiiEnabled is defined in FPD.
|
||||
|
@ -140,11 +117,6 @@ public class Token {
|
|||
///
|
||||
public boolean skuEnabled;
|
||||
|
||||
///
|
||||
/// skuDataArrayEnabled is to indicate wheter use the skuData array or default value.
|
||||
///
|
||||
public boolean skuDataArrayEnabled;
|
||||
|
||||
///
|
||||
/// skuData contains all value for SkuNumber of token.
|
||||
/// skuData is defined in FPD.
|
||||
|
@ -169,12 +141,6 @@ public class Token {
|
|||
///
|
||||
public Object datum;
|
||||
|
||||
///
|
||||
/// Default value of this token.
|
||||
/// This default value is defined in SPD level.
|
||||
///
|
||||
public Object defaultValue;
|
||||
|
||||
///
|
||||
/// BUGBUG: fix comment
|
||||
/// vpdEnabled is defined in FPD.
|
||||
|
@ -187,55 +153,33 @@ public class Token {
|
|||
///
|
||||
public long vpdOffset;
|
||||
|
||||
///
|
||||
/// producers array record all module private information who produce this PCD token.
|
||||
///
|
||||
public List<UsageInstance> producers;
|
||||
|
||||
///
|
||||
/// consumers array record all module private information who consume this PCD token.
|
||||
///
|
||||
public List<UsageInstance> consumers;
|
||||
public Map<String, UsageInstance> consumers;
|
||||
|
||||
/**
|
||||
Constructure function.
|
||||
|
||||
Initialize the value of token.
|
||||
|
||||
@param cName The cName of this token
|
||||
@param tokenSpaceName The tokenSpaceName of this token, it is a GUID.
|
||||
@param assignedtokenSpaceName The assignedtokenSpaceName of this token, it is a GUID.
|
||||
|
||||
**/
|
||||
public Token(String cName, UUID tokenSpaceName, UUID assignedtokenSpaceName) {
|
||||
public Token(String cName, UUID tokenSpaceName) {
|
||||
UUID nullUUID = new UUID(0, 0);
|
||||
|
||||
this.cName = cName;
|
||||
this.tokenSpaceName =(tokenSpaceName == null) ? nullUUID : tokenSpaceName;
|
||||
this.assignedtokenSpaceName =(assignedtokenSpaceName == null) ? nullUUID : assignedtokenSpaceName;
|
||||
this.tokenSpaceName = (tokenSpaceName == null) ? nullUUID : tokenSpaceName;
|
||||
this.tokenNumber = 0;
|
||||
this.assignedtokenNumber = 0;
|
||||
this.pcdType = PCD_TYPE.UNKNOWN;
|
||||
this.supportedpcdType = null;
|
||||
this.isPlatform = false;
|
||||
this.datumType = DATUM_TYPE.UNKNOWN;
|
||||
this.datumSize = -1;
|
||||
this.defaultValue = null;
|
||||
this.datum = null;
|
||||
this.hiiEnabled = false;
|
||||
this.variableGuid = null;
|
||||
this.variableName = "";
|
||||
this.variableOffset = -1;
|
||||
this.skuEnabled = false;
|
||||
this.skuDataArrayEnabled = false;
|
||||
this.skuId = -1;
|
||||
this.maxSkuCount = -1;
|
||||
this.skuData = new ArrayList<SkuInstance>();
|
||||
this.vpdEnabled = false;
|
||||
this.vpdOffset = -1;
|
||||
|
||||
this.producers = new ArrayList<UsageInstance>();
|
||||
this.consumers = new ArrayList<UsageInstance>();
|
||||
this.consumers = new HashMap<String, UsageInstance>();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -247,19 +191,23 @@ public class Token {
|
|||
|
||||
@return primary key for this token in token database.
|
||||
**/
|
||||
public static String getPrimaryKeyString(String cName, UUID tokenSpaceName,
|
||||
UUID platformtokenSpaceName) {
|
||||
public static String getPrimaryKeyString(String cName, UUID tokenSpaceName) {
|
||||
UUID nullUUID = new UUID(0, 0);
|
||||
|
||||
if (platformtokenSpaceName == nullUUID) {
|
||||
return cName + "_" + tokenSpaceName.toString().replace('-', '_');
|
||||
if (tokenSpaceName == null) {
|
||||
return cName + "_" + nullUUID.toString().replace('-', '_');
|
||||
} else {
|
||||
return cName + "_" + platformtokenSpaceName.toString().replace('-', '_');
|
||||
return cName + "_" + tokenSpaceName.toString().replace('-', '_');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Get the token primary key in token database.
|
||||
|
||||
@return String
|
||||
*/
|
||||
public String getPrimaryKeyString () {
|
||||
return cName + "_" + tokenSpaceName.toString().replace('-', '_');
|
||||
return Token.getPrimaryKeyString(cName, tokenSpaceName);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -302,99 +250,52 @@ public class Token {
|
|||
@retval TRUE - Success to add usage instance.
|
||||
@retval FALSE - Fail to add usage instance
|
||||
**/
|
||||
public boolean addUsageInstance(UsageInstance usageInstance) {
|
||||
if (usageInstance.usage == PCD_USAGE.UNKNOWN) {
|
||||
return false;
|
||||
public boolean addUsageInstance(UsageInstance usageInstance)
|
||||
throws EntityException {
|
||||
String exceptionStr;
|
||||
|
||||
if (isUsageInstanceExist(usageInstance.moduleName,
|
||||
usageInstance.moduleGUID,
|
||||
usageInstance.packageName,
|
||||
usageInstance.packageGUID,
|
||||
usageInstance.arch,
|
||||
usageInstance.version)) {
|
||||
exceptionStr = String.format("PCD %s for module %s has already exist in database, Please check all PCD build entries "+
|
||||
"in modules PcdPeim in <ModuleSA> to make sure no duplicated definitions!",
|
||||
usageInstance.parentToken.cName,
|
||||
usageInstance.moduleName);
|
||||
throw new EntityException(exceptionStr);
|
||||
}
|
||||
|
||||
if ((usageInstance.usage == PCD_USAGE.ALWAYS_PRODUCED) ||
|
||||
(usageInstance.usage == PCD_USAGE.SOMETIMES_PRODUCED)) {
|
||||
producers.add(usageInstance);
|
||||
} else {
|
||||
consumers.add(usageInstance);
|
||||
}
|
||||
consumers.put(usageInstance.getPrimaryKey(), usageInstance);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
Judge whether exist an usage instance for this token
|
||||
|
||||
@param moduleName Use xmlFilePath as keyword to search the usage instance
|
||||
|
||||
@retval PCD_USAGE - if UsageInstance exists.
|
||||
@retval UNKNOWN - if UsageInstance does not exist, return UNKONW.
|
||||
**/
|
||||
public PCD_USAGE isUsageInstanceExist(String moduleName) {
|
||||
int index;
|
||||
UsageInstance usageInstance;
|
||||
|
||||
if (moduleName == null) {
|
||||
ActionMessage.warning(this, "Error parameter for isUsageInstanceExist() function!");
|
||||
return PCD_USAGE.UNKNOWN;
|
||||
}
|
||||
|
||||
if (moduleName.length() == 0) {
|
||||
return PCD_USAGE.UNKNOWN;
|
||||
}
|
||||
|
||||
//
|
||||
// Searching the usage instance in module's producer and consumer according to
|
||||
// module's name.
|
||||
//
|
||||
for (index = 0; index < producers.size(); index ++) {
|
||||
usageInstance =(UsageInstance)producers.get(index);
|
||||
if (usageInstance.moduleName.equalsIgnoreCase(moduleName)) {
|
||||
return usageInstance.usage;
|
||||
}
|
||||
}
|
||||
|
||||
for (index = 0; index < consumers.size(); index ++) {
|
||||
usageInstance =(UsageInstance)consumers.get(index);
|
||||
if (usageInstance.moduleName.equalsIgnoreCase(moduleName)) {
|
||||
return usageInstance.usage;
|
||||
}
|
||||
}
|
||||
return PCD_USAGE.UNKNOWN;
|
||||
}
|
||||
|
||||
/**
|
||||
Get usage instance according to a MSA file name
|
||||
|
||||
@param moduleName The file path string of MSA file.
|
||||
|
||||
@return usage instance object.
|
||||
**/
|
||||
public UsageInstance getUsageInstance(String moduleName) {
|
||||
int usageIndex;
|
||||
UsageInstance usageInstance;
|
||||
|
||||
if (moduleName == null) {
|
||||
ActionMessage.warning(this, "Error parameter for isUsageInstanceExist() function!");
|
||||
return null;
|
||||
}
|
||||
|
||||
if (moduleName.length() == 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (producers.size() != 0) {
|
||||
for (usageIndex = 0; usageIndex < producers.size(); usageIndex ++) {
|
||||
usageInstance =(UsageInstance)producers.get(usageIndex);
|
||||
if (usageInstance.moduleName.equalsIgnoreCase(moduleName)) {
|
||||
return usageInstance;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (consumers.size() != 0) {
|
||||
for (usageIndex = 0; usageIndex < consumers.size(); usageIndex ++) {
|
||||
usageInstance =(UsageInstance)consumers.get(usageIndex);
|
||||
if (usageInstance.moduleName.equalsIgnoreCase(moduleName)) {
|
||||
return usageInstance;
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
Judge whether exist an usage instance for this token
|
||||
|
||||
@param moduleName the name of module
|
||||
@param moduleGuid the GUID name of modules
|
||||
@param packageName the name of package contains this module
|
||||
@param packageGuid the GUID name of package contains this module
|
||||
@param arch the architecture string
|
||||
@param version the version string
|
||||
|
||||
@return boolean whether exist an usage instance for this token.
|
||||
*/
|
||||
public boolean isUsageInstanceExist(String moduleName,
|
||||
UUID moduleGuid,
|
||||
String packageName,
|
||||
UUID packageGuid,
|
||||
String arch,
|
||||
String version) {
|
||||
String keyStr = UsageInstance.getPrimaryKey(moduleName,
|
||||
moduleGuid,
|
||||
packageName,
|
||||
packageGuid,
|
||||
arch,
|
||||
version);
|
||||
return (consumers.get(keyStr) != null);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -18,10 +18,11 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
package org.tianocore.build.pcd.entity;
|
||||
|
||||
|
||||
import org.tianocore.build.pcd.exception.EntityException;
|
||||
import org.tianocore.build.pcd.action.ActionMessage;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.tianocore.build.autogen.CommonDefinition;
|
||||
import org.tianocore.build.pcd.action.ActionMessage;
|
||||
import org.tianocore.build.pcd.exception.EntityException;
|
||||
|
||||
/**
|
||||
This class indicate an usage instance for a PCD token. This instance maybe a module
|
||||
|
@ -29,50 +30,50 @@ import org.tianocore.build.autogen.CommonDefinition;
|
|||
is an usage instance for this PCD token.
|
||||
**/
|
||||
public class UsageInstance {
|
||||
///
|
||||
/// The module type of usage instance.
|
||||
///
|
||||
public enum MODULE_TYPE {SEC, PEI_CORE, PEIM, DXE_CORE, DXE_DRIVERS, OTHER_COMPONENTS}
|
||||
///
|
||||
/// This parent that this usage instance belongs to.
|
||||
///
|
||||
public Token parentToken;
|
||||
///
|
||||
/// The usage of this token for platform or module.
|
||||
///
|
||||
public Token.PCD_USAGE usage;
|
||||
///
|
||||
/// Whether this usage instance inherit from library
|
||||
///
|
||||
public boolean isInherit;
|
||||
///
|
||||
/// The pcd type of this token for module.
|
||||
///
|
||||
public Token.PCD_TYPE modulePcdType;
|
||||
///
|
||||
/// The name of the module who contains this PCD.
|
||||
///
|
||||
public String moduleName;
|
||||
///
|
||||
/// The GUID of the module who contains this PCD.
|
||||
///
|
||||
public UUID moduleGUID;
|
||||
///
|
||||
/// The name of the package whose module contains this PCD.
|
||||
///
|
||||
public String packageName;
|
||||
///
|
||||
/// The component type for this usage instance.
|
||||
/// The GUID of the package whose module contains this PCD.
|
||||
///
|
||||
public UUID packageGUID;
|
||||
///
|
||||
public int componentType;
|
||||
/// The PCD type defined for module
|
||||
///
|
||||
public Token.PCD_TYPE modulePcdType;
|
||||
///
|
||||
/// The default value defined in MSA has high prior than defined in SPD.
|
||||
/// The arch string of module contains this PCD
|
||||
///
|
||||
public Object defaultValueInMSA;
|
||||
public String arch;
|
||||
///
|
||||
/// The default value defined in SPD.
|
||||
/// The version of module contains this PCD
|
||||
///
|
||||
public String version;
|
||||
///
|
||||
public Object defaultValueInSPD;
|
||||
/// The module type for this usage instance.
|
||||
///
|
||||
/// Help text in MSA
|
||||
public MODULE_TYPE moduleType;
|
||||
///
|
||||
public String helpTextInMSA;
|
||||
///
|
||||
/// Help text in SPD
|
||||
///
|
||||
public String helpTextInSPD;
|
||||
/// The value of the PCD in this usage instance.
|
||||
///
|
||||
public Object datum;
|
||||
///
|
||||
/// Autogen string for header file.
|
||||
///
|
||||
|
@ -83,367 +84,265 @@ public class UsageInstance {
|
|||
public String cAutogenStr;
|
||||
|
||||
/**
|
||||
Constructure function
|
||||
|
||||
@param parentToken Member variable.
|
||||
@param usage Member variable.
|
||||
@param pcdType Member variable.
|
||||
@param componentType Member variable.
|
||||
@param defaultValueInMSA Member variable.
|
||||
@param defaultValueInSPD Member variable.
|
||||
@param helpTextInMSA Member variable.
|
||||
@param helpTextInSPD Member variable.
|
||||
@param moduleName Member variable.
|
||||
@param packageName Member variable.
|
||||
@param isInherit Member variable.
|
||||
Constructure function
|
||||
|
||||
@param parentToken Member variable.
|
||||
@param pcdType Member variable.
|
||||
@param moduleName Member variable.
|
||||
@param moduleGUID Member variable.
|
||||
@param packageName Member variable.
|
||||
@param packageGUID Member variable.
|
||||
@param moduleType Member variable.
|
||||
@param modulePcdType Member variable.
|
||||
@param arch Member variable.
|
||||
@param version Member variable.
|
||||
@param value Member variable.
|
||||
**/
|
||||
public UsageInstance(
|
||||
Token parentToken,
|
||||
Token.PCD_USAGE usage,
|
||||
Token.PCD_TYPE pcdType,
|
||||
int componentType,
|
||||
Object defaultValueInMSA,
|
||||
Object defaultValueInSPD,
|
||||
String helpTextInMSA,
|
||||
String helpTextInSPD,
|
||||
String moduleName,
|
||||
String packageName,
|
||||
boolean isInherit
|
||||
)
|
||||
{
|
||||
this.parentToken = parentToken;
|
||||
this.usage = usage;
|
||||
this.modulePcdType = pcdType;
|
||||
this.componentType = componentType;
|
||||
this.defaultValueInMSA = defaultValueInMSA;
|
||||
this.defaultValueInSPD = defaultValueInSPD;
|
||||
this.helpTextInMSA = helpTextInMSA;
|
||||
this.helpTextInSPD = helpTextInSPD;
|
||||
this.moduleName = moduleName;
|
||||
this.packageName = packageName;
|
||||
this.isInherit = isInherit;
|
||||
public UsageInstance (Token parentToken,
|
||||
Token.PCD_TYPE pcdType,
|
||||
String moduleName,
|
||||
UUID moduleGUID,
|
||||
String packageName,
|
||||
UUID packageGUID,
|
||||
MODULE_TYPE moduleType,
|
||||
Token.PCD_TYPE modulePcdType,
|
||||
String arch,
|
||||
String version,
|
||||
Object value) {
|
||||
this.parentToken = parentToken;
|
||||
this.moduleName = moduleName;
|
||||
this.moduleGUID = moduleGUID;
|
||||
this.packageName = packageName;
|
||||
this.packageGUID = packageGUID;
|
||||
this.moduleType = moduleType;
|
||||
this.modulePcdType = modulePcdType;
|
||||
this.arch = arch;
|
||||
this.version = version;
|
||||
this.datum = value;
|
||||
this.modulePcdType = pcdType;
|
||||
}
|
||||
|
||||
/**
|
||||
Generate autogen string for header file and C code file.
|
||||
|
||||
@throws EntityException Fail to generate.
|
||||
Get the primary key for usage instance array for every token.
|
||||
|
||||
@param moduleName the name of module
|
||||
@param moduleGUID the GUID name of module
|
||||
@param packageName the name of package who contains this module
|
||||
@param packageGUID the GUID name of package
|
||||
@param arch the archtecture string
|
||||
@param version the version of this module
|
||||
|
||||
@return String primary key
|
||||
*/
|
||||
public static String getPrimaryKey(String moduleName,
|
||||
UUID moduleGUID,
|
||||
String packageName,
|
||||
UUID packageGUID,
|
||||
String arch,
|
||||
String version) {
|
||||
//
|
||||
// Because currently transition schema not require write moduleGuid, package Name, Packge GUID in
|
||||
// <ModuleSA> section, So currently no expect all paramter must be valid.
|
||||
return (moduleName + "_" +
|
||||
((moduleGUID != null) ? moduleGUID.toString() : "NullModuleGuid") + "_" +
|
||||
((packageName != null) ? packageName : "NullPackageName") + "_" +
|
||||
((packageGUID != null) ? packageGUID.toString() : "NullPackageGuid") + "_" +
|
||||
((arch != null) ? arch : "NullArch") + "_" +
|
||||
((version != null) ? version : "NullVersion"));
|
||||
}
|
||||
|
||||
/**
|
||||
Get primary key string for this usage instance
|
||||
|
||||
@return String primary key string
|
||||
**/
|
||||
public void generateAutoGen() throws EntityException {
|
||||
Object value = null;
|
||||
int tokenNumber = 0;
|
||||
public String getPrimaryKey() {
|
||||
return UsageInstance.getPrimaryKey(moduleName, moduleGUID, packageName, packageGUID, arch, version);
|
||||
}
|
||||
|
||||
/**
|
||||
Judget whether current module is PEI driver
|
||||
|
||||
@return boolean
|
||||
*/
|
||||
public boolean isPeiPhaseComponent() {
|
||||
if ((moduleType == MODULE_TYPE.PEI_CORE) ||
|
||||
(moduleType == MODULE_TYPE.PEIM)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
Generate autogen string for header file and C code file.
|
||||
|
||||
@throws EntityException Fail to generate.
|
||||
|
||||
@param isBuildUsedLibrary whether the autogen is for library.
|
||||
*/
|
||||
public void generateAutoGen(boolean isBuildUsedLibrary)
|
||||
throws EntityException {
|
||||
|
||||
hAutogenStr = "";
|
||||
cAutogenStr = "";
|
||||
|
||||
value = this.parentToken.datum;
|
||||
|
||||
//
|
||||
// If this pcd token's PCD_TYPE is DYNAMIC_EX, use itself token space name
|
||||
// otherwices use assgined token space name from tool automatically.
|
||||
//
|
||||
if(parentToken.pcdType == Token.PCD_TYPE.DYNAMIC_EX) {
|
||||
tokenNumber = parentToken.tokenNumber;
|
||||
} else {
|
||||
tokenNumber = parentToken.assignedtokenNumber;
|
||||
}
|
||||
|
||||
hAutogenStr += String.format("#define _PCD_TOKEN_%s 0x%016x\r\n",
|
||||
parentToken.cName, tokenNumber);
|
||||
|
||||
parentToken.cName, parentToken.tokenNumber);
|
||||
switch(modulePcdType) {
|
||||
case FEATURE_FLAG:
|
||||
//
|
||||
// BUGBUG: The judegement of module PCD type and platform PCD type should not be
|
||||
// done here, but in wizard tools, But here is just following something
|
||||
// PcdEmulation driver.
|
||||
//
|
||||
if(parentToken.pcdType.ordinal() > Token.PCD_TYPE.FEATURE_FLAG.ordinal()) {
|
||||
throw new EntityException(
|
||||
String.format(
|
||||
"%s:Platform PCD Type %d is not compatible with Module PCD Type %d\r\n",
|
||||
parentToken.cName,
|
||||
parentToken.pcdType.name(),
|
||||
modulePcdType.name()
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
if(CommonDefinition.isLibraryComponent(componentType)) {
|
||||
hAutogenStr += String.format(
|
||||
"extern const BOOLEAN _gPcd_FixedAtBuild_%s;\r\n",
|
||||
parentToken.cName
|
||||
);
|
||||
hAutogenStr += String.format(
|
||||
"#define _PCD_MODE_%s_%s _gPcd_FixedAtBuild_%s\r\n",
|
||||
parentToken.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
parentToken.cName
|
||||
);
|
||||
if(isBuildUsedLibrary) {
|
||||
hAutogenStr += String.format("extern const BOOLEAN _gPcd_FixedAtBuild_%s;\r\n",
|
||||
parentToken.cName);
|
||||
hAutogenStr += String.format("#define _PCD_MODE_%s_%s _gPcd_FixedAtBuild_%s\r\n",
|
||||
parentToken.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
parentToken.cName);
|
||||
} else {
|
||||
hAutogenStr += String.format(
|
||||
"#define _PCD_VALUE_%s %s\r\n",
|
||||
parentToken.cName,
|
||||
value.toString()
|
||||
);
|
||||
hAutogenStr += String.format(
|
||||
"extern const BOOLEAN _gPcd_FixedAtBuild_%s;\r\n",
|
||||
parentToken.cName
|
||||
);
|
||||
cAutogenStr += String.format(
|
||||
"GLOBAL_REMOVE_IF_UNREFERENCED const BOOLEAN _gPcd_FixedAtBuild_%s = _PCD_VALUE_%s;\r\n",
|
||||
parentToken.cName,
|
||||
parentToken.cName
|
||||
);
|
||||
hAutogenStr += String.format(
|
||||
"#define _PCD_MODE_%s_%s _PCD_VALUE_%s\r\n",
|
||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
parentToken.cName
|
||||
);
|
||||
hAutogenStr += String.format("#define _PCD_VALUE_%s %s\r\n",
|
||||
parentToken.cName,
|
||||
datum.toString());
|
||||
hAutogenStr += String.format("extern const BOOLEAN _gPcd_FixedAtBuild_%s;\r\n",
|
||||
parentToken.cName);
|
||||
cAutogenStr += String.format("GLOBAL_REMOVE_IF_UNREFERENCED const BOOLEAN _gPcd_FixedAtBuild_%s = _PCD_VALUE_%s;\r\n",
|
||||
parentToken.cName,
|
||||
parentToken.cName);
|
||||
hAutogenStr += String.format("#define _PCD_MODE_%s_%s _PCD_VALUE_%s\r\n",
|
||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
parentToken.cName);
|
||||
}
|
||||
break;
|
||||
case FIXED_AT_BUILD:
|
||||
//
|
||||
// BUGBUG: The judegement of module PCD type and platform PCD type should not be
|
||||
// done here, but in wizard tools, But here is just following something
|
||||
// PcdEmulation driver.
|
||||
//
|
||||
if(parentToken.pcdType.ordinal() > Token.PCD_TYPE.FIXED_AT_BUILD.ordinal()) {
|
||||
throw new EntityException(
|
||||
String.format(
|
||||
"%s:Platform PCD Type %d is not compatible with Module PCD Type %d\r\n",
|
||||
parentToken.cName,
|
||||
parentToken.pcdType.name(),
|
||||
modulePcdType.name()
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
if(CommonDefinition.isLibraryComponent(componentType)) {
|
||||
hAutogenStr += String.format(
|
||||
"extern const %s _gPcd_FixedAtBuild_%s;\r\n",
|
||||
Token.getAutogendatumTypeString(parentToken.datumType),
|
||||
parentToken.cName
|
||||
);
|
||||
hAutogenStr += String.format(
|
||||
"#define _PCD_MODE_%s_%s _gPcd_FixedAtBuild_%s\r\n",
|
||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
parentToken.cName
|
||||
);
|
||||
if(isBuildUsedLibrary) {
|
||||
hAutogenStr += String.format("extern const %s _gPcd_FixedAtBuild_%s;\r\n",
|
||||
Token.getAutogendatumTypeString(parentToken.datumType),
|
||||
parentToken.cName);
|
||||
hAutogenStr += String.format("#define _PCD_MODE_%s_%s _gPcd_FixedAtBuild_%s\r\n",
|
||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
parentToken.cName);
|
||||
} else {
|
||||
hAutogenStr += String.format(
|
||||
"#define _PCD_VALUE_%s %s\r\n",
|
||||
parentToken.cName,
|
||||
value.toString()
|
||||
);
|
||||
hAutogenStr += String.format(
|
||||
"extern const %s _gPcd_FixedAtBuild_%s;\r\n",
|
||||
Token.getAutogendatumTypeString(parentToken.datumType),
|
||||
parentToken.cName
|
||||
);
|
||||
cAutogenStr += String.format(
|
||||
"GLOBAL_REMOVE_IF_UNREFERENCED const %s _gPcd_FixedAtBuild_%s = _PCD_VALUE_%s;\r\n",
|
||||
Token.getAutogendatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
parentToken.cName
|
||||
);
|
||||
hAutogenStr += String.format(
|
||||
"#define _PCD_MODE_%s_%s _PCD_VALUE_%s\r\n",
|
||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
parentToken.cName
|
||||
);
|
||||
hAutogenStr += String.format("#define _PCD_VALUE_%s %s\r\n",
|
||||
parentToken.cName,
|
||||
datum.toString());
|
||||
hAutogenStr += String.format("extern const %s _gPcd_FixedAtBuild_%s;\r\n",
|
||||
Token.getAutogendatumTypeString(parentToken.datumType),
|
||||
parentToken.cName);
|
||||
cAutogenStr += String.format("GLOBAL_REMOVE_IF_UNREFERENCED const %s _gPcd_FixedAtBuild_%s = _PCD_VALUE_%s;\r\n",
|
||||
Token.getAutogendatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
parentToken.cName);
|
||||
hAutogenStr += String.format("#define _PCD_MODE_%s_%s _PCD_VALUE_%s\r\n",
|
||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
parentToken.cName);
|
||||
}
|
||||
break;
|
||||
case PATCHABLE_IN_MODULE:
|
||||
//
|
||||
// BUGBUG: The judegement of module PCD type and platform PCD type should not be
|
||||
// done here, but in wizard tools, But here is just following something
|
||||
// PcdEmulation driver.
|
||||
//
|
||||
if(parentToken.pcdType.ordinal() > Token.PCD_TYPE.PATCHABLE_IN_MODULE.ordinal()) {
|
||||
throw new EntityException(
|
||||
String.format(
|
||||
"%s:Platform PCD Type %d is not compatible with Module PCD Type %d\r\n",
|
||||
parentToken.cName,
|
||||
parentToken.pcdType.name(),
|
||||
modulePcdType.name()
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
if(CommonDefinition.isLibraryComponent(componentType)) {
|
||||
hAutogenStr += String.format(
|
||||
"extern %s _gPcd_BinaryPatch_%s;\r\n",
|
||||
Token.getAutogendatumTypeString(parentToken.datumType),
|
||||
parentToken.cName
|
||||
);
|
||||
hAutogenStr += String.format(
|
||||
"#define _PCD_MODE_%s_%s _gPcd_BinaryPatch_%s\r\n",
|
||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
parentToken.cName
|
||||
);
|
||||
if(isBuildUsedLibrary) {
|
||||
hAutogenStr += String.format("extern %s _gPcd_BinaryPatch_%s;\r\n",
|
||||
Token.getAutogendatumTypeString(parentToken.datumType),
|
||||
parentToken.cName);
|
||||
hAutogenStr += String.format("#define _PCD_MODE_%s_%s _gPcd_BinaryPatch_%s\r\n",
|
||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
parentToken.cName);
|
||||
} else {
|
||||
hAutogenStr += String.format(
|
||||
"#define _PCD_VALUE_%s %s\r\n",
|
||||
parentToken.cName,
|
||||
value
|
||||
);
|
||||
hAutogenStr += String.format(
|
||||
"extern %s _gPcd_BinaryPatch_%s;\r\n",
|
||||
Token.getAutogendatumTypeString(parentToken.datumType),
|
||||
parentToken.cName
|
||||
);
|
||||
cAutogenStr += String.format(
|
||||
"GLOBAL_REMOVE_IF_UNREFERENCED %s _gPcd_BinaryPatch_%s = _PCD_VALUE_%s;\r\n",
|
||||
Token.getAutogendatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
parentToken.cName
|
||||
);
|
||||
hAutogenStr += String.format(
|
||||
"#define _PCD_MODE_%s_%s _gPcd_BinaryPatch_%s\r\n",
|
||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
parentToken.cName
|
||||
);
|
||||
hAutogenStr += String.format("#define _PCD_VALUE_%s %s\r\n",
|
||||
parentToken.cName,
|
||||
datum.toString());
|
||||
hAutogenStr += String.format("extern %s _gPcd_BinaryPatch_%s;\r\n",
|
||||
Token.getAutogendatumTypeString(parentToken.datumType),
|
||||
parentToken.cName);
|
||||
cAutogenStr += String.format("GLOBAL_REMOVE_IF_UNREFERENCED %s _gPcd_BinaryPatch_%s = _PCD_VALUE_%s;\r\n",
|
||||
Token.getAutogendatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
parentToken.cName);
|
||||
hAutogenStr += String.format("#define _PCD_MODE_%s_%s _gPcd_BinaryPatch_%s\r\n",
|
||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
parentToken.cName);
|
||||
}
|
||||
|
||||
break;
|
||||
case DYNAMIC:
|
||||
//
|
||||
// BUGBUG: The judegement of module PCD type and platform PCD type should not be
|
||||
// done here, but in wizard tools, But here is just following something
|
||||
// PcdEmulation driver.
|
||||
//
|
||||
if(parentToken.pcdType.ordinal() > Token.PCD_TYPE.DYNAMIC.ordinal()) {
|
||||
throw new EntityException(
|
||||
String.format(
|
||||
"%s:Platform PCD Type %d is not compatible with Module PCD Type %d\r\n",
|
||||
parentToken.cName,
|
||||
parentToken.pcdType.name(),
|
||||
modulePcdType.name()
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
switch(parentToken.pcdType) {
|
||||
case FEATURE_FLAG:
|
||||
if(CommonDefinition.isLibraryComponent(componentType)) {
|
||||
hAutogenStr += String.format(
|
||||
"extern const BOOLEAN _gPcd_FixedAtBuild_%s;\r\n",
|
||||
parentToken.cName
|
||||
);
|
||||
hAutogenStr += String.format(
|
||||
"#define _PCD_MODE_%s_%s _gPcd_FixedAtBuild_%s\r\n",
|
||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
parentToken.cName
|
||||
);
|
||||
if(isBuildUsedLibrary) {
|
||||
hAutogenStr += String.format("extern const BOOLEAN _gPcd_FixedAtBuild_%s;\r\n",
|
||||
parentToken.cName);
|
||||
hAutogenStr += String.format("#define _PCD_MODE_%s_%s _gPcd_FixedAtBuild_%s\r\n",
|
||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
parentToken.cName);
|
||||
} else {
|
||||
hAutogenStr += String.format(
|
||||
"#define _PCD_VALUE_%s %s\r\n",
|
||||
parentToken.cName,
|
||||
value
|
||||
);
|
||||
hAutogenStr += String.format(
|
||||
"extern const BOOLEAN _gPcd_FixedAtBuild_%s;\r\n",
|
||||
parentToken.cName
|
||||
);
|
||||
cAutogenStr += String.format(
|
||||
"const BOOLEAN _gPcd_FixedAtBuild_%s = _PCD_VALUE_%s;\r\n",
|
||||
parentToken.cName,
|
||||
parentToken.cName
|
||||
);
|
||||
hAutogenStr += String.format(
|
||||
"#define _PCD_MODE_%s_%s _PCD_VALUE_%s\r\n",
|
||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
parentToken.cName
|
||||
);
|
||||
hAutogenStr += String.format("#define _PCD_VALUE_%s %s\r\n",
|
||||
parentToken.cName,
|
||||
datum.toString());
|
||||
hAutogenStr += String.format("extern const BOOLEAN _gPcd_FixedAtBuild_%s;\r\n",
|
||||
parentToken.cName);
|
||||
cAutogenStr += String.format("const BOOLEAN _gPcd_FixedAtBuild_%s = _PCD_VALUE_%s;\r\n",
|
||||
parentToken.cName,
|
||||
parentToken.cName);
|
||||
hAutogenStr += String.format("#define _PCD_MODE_%s_%s _PCD_VALUE_%s\r\n",
|
||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
parentToken.cName);
|
||||
}
|
||||
break;
|
||||
case FIXED_AT_BUILD:
|
||||
if(CommonDefinition.isLibraryComponent(componentType)) {
|
||||
hAutogenStr += String.format(
|
||||
"extern const %s _gPcd_FixedAtBuild_%s;\r\n",
|
||||
Token.getAutogendatumTypeString(parentToken.datumType),
|
||||
parentToken.cName
|
||||
);
|
||||
hAutogenStr += String.format(
|
||||
"#define _PCD_MODE_%s_%s _gPcd_FixedAtBuild_%s\r\n",
|
||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
parentToken.cName
|
||||
);
|
||||
if(isBuildUsedLibrary) {
|
||||
hAutogenStr += String.format("extern const %s _gPcd_FixedAtBuild_%s;\r\n",
|
||||
Token.getAutogendatumTypeString(parentToken.datumType),
|
||||
parentToken.cName);
|
||||
hAutogenStr += String.format("#define _PCD_MODE_%s_%s _gPcd_FixedAtBuild_%s\r\n",
|
||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
parentToken.cName);
|
||||
|
||||
} else {
|
||||
hAutogenStr += String.format(
|
||||
"#define _PCD_VALUE_%s %s\r\n",
|
||||
parentToken.cName,
|
||||
value
|
||||
);
|
||||
hAutogenStr += String.format(
|
||||
"extern const %s _gPcd_FixedAtBuild_%s\r\n",
|
||||
Token.getAutogendatumTypeString(parentToken.datumType),
|
||||
parentToken.cName
|
||||
);
|
||||
cAutogenStr += String.format(
|
||||
"const %s _gPcd_FixedAtBuild_%s = _PCD_VALUE_%s;\r\n",
|
||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
parentToken.cName
|
||||
);
|
||||
hAutogenStr += String.format(
|
||||
"#define _PCD_MODE_%s_%s _PCD_VALUE_%s\r\n",
|
||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
parentToken.cName
|
||||
);
|
||||
hAutogenStr += String.format("#define _PCD_VALUE_%s %s\r\n",
|
||||
parentToken.cName,
|
||||
datum.toString());
|
||||
hAutogenStr += String.format("extern const %s _gPcd_FixedAtBuild_%s\r\n",
|
||||
Token.getAutogendatumTypeString(parentToken.datumType),
|
||||
parentToken.cName);
|
||||
cAutogenStr += String.format("const %s _gPcd_FixedAtBuild_%s = _PCD_VALUE_%s;\r\n",
|
||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
parentToken.cName);
|
||||
hAutogenStr += String.format("#define _PCD_MODE_%s_%s _PCD_VALUE_%s\r\n",
|
||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
parentToken.cName);
|
||||
}
|
||||
break;
|
||||
case PATCHABLE_IN_MODULE:
|
||||
hAutogenStr += String.format(
|
||||
"#define _PCD_VALUE_%s %s\r\n",
|
||||
parentToken.cName,
|
||||
value
|
||||
);
|
||||
hAutogenStr += String.format(
|
||||
"extern %s _gPcd_BinaryPatch_%s;\r\n",
|
||||
Token.getAutogendatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
parentToken.cName
|
||||
);
|
||||
cAutogenStr += String.format(
|
||||
"%s _gPcd_BinaryPatch_%s = _PCD_VALUE_%s;",
|
||||
Token.getAutogendatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
parentToken.cName
|
||||
);
|
||||
hAutogenStr += String.format(
|
||||
"#define _PCD_MODE_%s_%s _gPcd_BinaryPatch_%s\r\n",
|
||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
parentToken.cName
|
||||
);
|
||||
hAutogenStr += String.format("#define _PCD_VALUE_%s %s\r\n",
|
||||
parentToken.cName,
|
||||
datum.toString());
|
||||
hAutogenStr += String.format("extern %s _gPcd_BinaryPatch_%s;\r\n",
|
||||
Token.getAutogendatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
parentToken.cName);
|
||||
cAutogenStr += String.format("%s _gPcd_BinaryPatch_%s = _PCD_VALUE_%s;",
|
||||
Token.getAutogendatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
parentToken.cName);
|
||||
hAutogenStr += String.format("#define _PCD_MODE_%s_%s _gPcd_BinaryPatch_%s\r\n",
|
||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
parentToken.cName);
|
||||
break;
|
||||
case DYNAMIC:
|
||||
hAutogenStr += "\r\n";
|
||||
hAutogenStr += String.format(
|
||||
"#define _PCD_MODE_%s_%s LibPcdGet%s(_PCD_TOKEN_%s)\r\n",
|
||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
Token.getAutogenLibrarydatumTypeString(parentToken.datumType),
|
||||
parentToken.cName
|
||||
);
|
||||
case DYNAMIC:
|
||||
hAutogenStr += String.format("#define _PCD_MODE_%s_%s LibPcdGet%s(_PCD_TOKEN_%s)\r\n",
|
||||
Token.GetAutogenDefinedatumTypeString(parentToken.datumType),
|
||||
parentToken.cName,
|
||||
Token.getAutogenLibrarydatumTypeString(parentToken.datumType),
|
||||
parentToken.cName);
|
||||
break;
|
||||
default:
|
||||
ActionMessage.log(
|
||||
this,
|
||||
"The PCD_TYPE setted by platform is unknown"
|
||||
);
|
||||
default:
|
||||
throw new EntityException ("The PCD type is unknown");
|
||||
}
|
||||
break;
|
||||
case DYNAMIC_EX:
|
||||
|
|
|
@ -26,6 +26,6 @@ public class EntityException extends Exception {
|
|||
@param expStr exception message string.
|
||||
**/
|
||||
public EntityException(String expStr) {
|
||||
super("[EntityException]:" + expStr);
|
||||
super("[PCD EntityException]:" + expStr);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,6 +17,7 @@ package org.tianocore.build.pcd.ui;
|
|||
|
||||
import java.awt.*;
|
||||
import java.awt.event.*;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.tree.DefaultMutableTreeNode;
|
||||
|
@ -82,7 +83,7 @@ public class PCDDatabaseFrame extends JFrame {
|
|||
public JTree initializeTree() {
|
||||
Token[] tokenArray = null;
|
||||
Token token = null;
|
||||
DefaultMutableTreeNode root = new DefaultMutableTreeNode(dbManager.getLogFileName());
|
||||
DefaultMutableTreeNode root = new DefaultMutableTreeNode("PCDTreeRoot");
|
||||
DefaultMutableTreeNode rootByPCD = new DefaultMutableTreeNode("By PCD");
|
||||
DefaultMutableTreeNode rootByModule = new DefaultMutableTreeNode("By Module");
|
||||
DefaultMutableTreeNode tokenNode = null;
|
||||
|
@ -92,6 +93,7 @@ public class PCDDatabaseFrame extends JFrame {
|
|||
int index = 0;
|
||||
int usageIndex = 0;
|
||||
int moduleIndex = 0;
|
||||
Object[] objectArray = null;
|
||||
java.util.List<UsageInstance> usageArray = null;
|
||||
UsageInstance usageInstance = null;
|
||||
|
||||
|
@ -106,17 +108,14 @@ public class PCDDatabaseFrame extends JFrame {
|
|||
ActionMessage.debug(this, token.cName);
|
||||
tokenNode = new DefaultMutableTreeNode(token.cName);
|
||||
tokenNode.add(new DefaultMutableTreeNode(String.format("TOKEN NUMBER: 0x%08x", token.tokenNumber)));
|
||||
tokenNode.add(new DefaultMutableTreeNode(String.format("ASSIGNED TOKEN NUMBER: 0x%08x", token.assignedtokenNumber)));
|
||||
tokenNode.add(new DefaultMutableTreeNode("TOKEN SPACE NAME: " + token.tokenSpaceName.toString()));
|
||||
tokenNode.add(new DefaultMutableTreeNode("ASSIGNED TOKEN SPACE NAME: " + token.assignedtokenSpaceName.toString()));
|
||||
tokenNode.add(new DefaultMutableTreeNode("PCD TYPE: " + Token.getStringOfpcdType(token.pcdType)));
|
||||
tokenNode.add(new DefaultMutableTreeNode("DATUM TYPE: " +Token.getStringOfdatumType(token.datumType)));
|
||||
tokenNode.add(new DefaultMutableTreeNode("DATUM: " + token.datum.toString()));
|
||||
tokenNode.add(new DefaultMutableTreeNode("HIIENABLE: " +(token.hiiEnabled?"true":"false")));
|
||||
tokenNode.add(new DefaultMutableTreeNode("VARIABLE NAME: " + token.variableName));
|
||||
tokenNode.add(new DefaultMutableTreeNode("VARIABLE GUID: " + token.variableGuid.toString()));
|
||||
//tokenNode.add(new DefaultMutableTreeNode("VARIABLE GUID: " + token.variableGuid.toString()));
|
||||
tokenNode.add(new DefaultMutableTreeNode("SKUENABLE: " +(token.skuEnabled?"true":"false")));
|
||||
tokenNode.add(new DefaultMutableTreeNode("SKUDATA ARRAY ENABLE: " +(token.skuDataArrayEnabled?"true":"false")));
|
||||
tokenNode.add(new DefaultMutableTreeNode(String.format("SKUID: %d", token.skuId)));
|
||||
tokenNode.add(new DefaultMutableTreeNode(String.format("MAX SKU COUNT: %d", token.maxSkuCount)));
|
||||
tokenNode.add(new DefaultMutableTreeNode("VPDENABLE: " +(token.vpdEnabled?"true":"false")));
|
||||
|
@ -124,22 +123,16 @@ public class PCDDatabaseFrame extends JFrame {
|
|||
usageNode = new DefaultMutableTreeNode("PRODUCER");
|
||||
tokenNode.add(usageNode);
|
||||
|
||||
//
|
||||
// Prepare producer's leaf node
|
||||
//
|
||||
|
||||
for (usageIndex = 0; usageIndex < token.producers.size(); usageIndex ++) {
|
||||
usageNode.add(new DefaultMutableTreeNode(token.producers.get(usageIndex).moduleName));
|
||||
}
|
||||
|
||||
//
|
||||
// Prepare consumer's leaf node
|
||||
//
|
||||
usageNode = new DefaultMutableTreeNode("CONSUMER");
|
||||
tokenNode.add(usageNode);
|
||||
|
||||
objectArray = token.consumers.entrySet().toArray();
|
||||
for (usageIndex = 0; usageIndex < token.consumers.size(); usageIndex ++) {
|
||||
usageNode.add(new DefaultMutableTreeNode(token.consumers.get(usageIndex).moduleName));
|
||||
usageInstance = (UsageInstance) ((Map.Entry)objectArray[usageIndex]).getValue();
|
||||
usageNode.add(new DefaultMutableTreeNode(usageInstance.getPrimaryKey()));
|
||||
}
|
||||
|
||||
rootByPCD.add(tokenNode);
|
||||
|
@ -155,14 +148,11 @@ public class PCDDatabaseFrame extends JFrame {
|
|||
}
|
||||
for (moduleIndex = 0; moduleIndex < moduleNames.size(); moduleIndex ++) {
|
||||
moduleNode = new DefaultMutableTreeNode(moduleNames.get(moduleIndex));
|
||||
usageArray = dbManager.getUsageInstanceArrayByModuleName(moduleNames.get(moduleIndex));
|
||||
usageArray = dbManager.getUsageInstanceArrayByKeyString(moduleNames.get(moduleIndex));
|
||||
for (usageIndex = 0; usageIndex < usageArray.size(); usageIndex ++) {
|
||||
usageInstance = usageArray.get(usageIndex);
|
||||
usageNode = new DefaultMutableTreeNode(usageInstance.parentToken.cName);
|
||||
usageNode.add(new DefaultMutableTreeNode("MODULE PCD TYPE: " + Token.getStringOfpcdType(usageInstance.modulePcdType)));
|
||||
usageNode.add(new DefaultMutableTreeNode("HELP TEXT: " + usageInstance.helpTextInMSA));
|
||||
usageNode.add(new DefaultMutableTreeNode("IS INHERIT: " +(usageInstance.isInherit?"true":"false")));
|
||||
usageNode.add(new DefaultMutableTreeNode("USAGE: " + Token.getStringOfUsage(usageInstance.usage)));
|
||||
moduleNode.add(usageNode);
|
||||
}
|
||||
rootByModule.add(moduleNode);
|
||||
|
|
Loading…
Reference in New Issue