summaryrefslogtreecommitdiffstats
path: root/BaseTools/Source/Python
Commit message (Collapse)AuthorAgeFilesLines
* BaseTools: enhance error check for DatumType formatYonghong Zhu2018-02-061-1/+6
| | | | | | | | | Add a check for DatumType format, eg: VOID *, original Tool will crash but no detail error message which cause confusion to user. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Update Expression.py for VOID* to support L'a' and 'a'Feng, YunhuaX2018-02-042-3/+20
| | | | | | | | | | | | | | | | | | | Original VOID* type support L"string" and "string" format, now we also add support for single quote string that without null terminator. Type VOID* support L'a' and 'a', the value transfer to c style value. L'a' --> {0x61, 0x00} L'ab' --> {0x61, 0x00, 0x62, 0x00} 'a' --> {0x61} 'ab' --> {0x61, 0x62} when the value is L'' or '' that not include any character, tool will report error. Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: StructurePcd array Value support flexible formatFeng, YunhuaX2018-02-041-2/+33
| | | | | | | | | | | | | | | | | if StructurePcd set item value is array, support flexible format like as: gEfiStructuredPcdPkgTokenSpaceGuid.Test.Array | {flexible format} {flexible format} = {L"ABC"} | {L'ABC'} | {"ABC"} | {UINT8(0x10)} | {UINT16(0x10)} | {UINT32(0x10)} | {UINT64(0x10)} | {DEVICE_PATH("PciRoot(0)/Pci(0,0)")} | {GUID(gPcdPkgTokenSpaceGuid)} | {L"ABC", L'ABC', UINT8(0x10)....} Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: Structure Pcd in CommandLine.Feng, Bob C2018-02-017-98/+233
| | | | | | | Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Bob Feng <bob.c.feng@intel.com> Cc: Liming Gao <liming.gao@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Support multiple .h fileFeng, Bob C2018-02-014-7/+9
| | | | | | | | | for structure Pcd declaration in DEC file. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Bob Feng <bob.c.feng@intel.com> Cc: Liming Gao <liming.gao@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTool: Enhance error handling.BobCF2018-02-011-49/+67
| | | | | | | Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Bob Feng <bob.c.feng@intel.com> Cc: Liming Gao <liming.gao@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTool: Add comments in PcdValueInit.c.Feng, Bob C2018-02-011-4/+6
| | | | | | | | | Add Comments for __FLEXIBLE_SIZE () statement. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Bob Feng <bob.c.feng@intel.com> Cc: Liming Gao <liming.gao@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Update BPDG to support L'' and '' format as VPD Pcd ValueYonghong Zhu2018-01-312-17/+21
| | | | | | | | | Current Pcd value support flexible format, this patch add support for BPDG Tool to support L'' and '' format. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Fix the bug to align VPD PCD based on value typeYonghong Zhu2018-01-311-2/+12
| | | | | | | | | | | Spec required for VOID* VPD Pcd, Ascii string use byte alignment, byte array use 8-byte alignment, unicode string use 2-byte alignment. while when the VPD pcd offset use *, the offset generated in the .map file not follow this rule. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Enhance parse performance by optimize ValueExpressionExYunhua Feng2018-01-305-178/+183
| | | | | | | | | | | | Optimize ValueExpressionEx function to enhance meta-data file parse performance. Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Fix indentation in CParser.py fileGary Lin2018-01-302-18/+4
| | | | | | | | | | | Mixing usage of spaces and tabs may confuse the python compiler/interpreter. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Gary Lin <glin@suse.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Cc: Liming Gao <liming.gao@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: Fixed incorrect VPD size.BobCF2018-01-251-6/+4
| | | | | | | | The VPD size is incorrect if that VPD is not used in Module. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Feng Bob C <bob.c.feng@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTool: Fixed the StructurePcd incorrect value.Feng, Bob C2018-01-251-3/+6
| | | | | | | | | | If user not set Structure overall value in Dsc, Structure Pcd value would be incorrect. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Bob Feng <bob.c.feng@intel.com> Cc: Liming Gao <liming.gao@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Fixed some small issuesFeng, Bob C2018-01-253-4/+10
| | | | | | | | | | | 1. The structure pcd default value should use the default value under sku. 2. Incorrect VpdOffset value for those un-used in module Vpd 3. Add a checkpoint for Structure Pcd Name Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Bob Feng <bob.c.feng@intel.com> Cc: Liming Gao <liming.gao@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Fixed build failure for the PCD value initialization.Feng, Bob C2018-01-251-2/+14
| | | | | | | | | A pcd is initialized under one SKU but is uninitialized under another SKU. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Bob Feng <bob.c.feng@intel.com> Cc: Liming Gao <liming.gao@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Add comments for the Structure Pcd definition in PcdValueInit.c fileFeng, Bob C2018-01-253-1/+7
| | | | | | | Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Bob Feng <bob.c.feng@intel.com> Cc: Liming Gao <liming.gao@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTool: Combine the HiiPcd value if they link to same VariableFeng, Bob C2018-01-252-3/+35
| | | | | | | Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Bob Feng <bob.c.feng@intel.com> Cc: Liming Gao <liming.gao@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Add DefaultStore section format CheckYonghong Zhu2018-01-232-1/+9
| | | | | | | | | This patch add DefaultStore section format Check and it use same logic with SKUID section. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: update SKUID value to support both integer and Hex numberYonghong Zhu2018-01-232-6/+7
| | | | | | | | This patch updated Skuid value to support both integer and hex value. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Enhance binary file in [Binaries] section use relative pathYonghong Zhu2018-01-231-0/+2
| | | | | | | | | Enhance the binary file in Asbuilt inf file [Binaries] section use relative path. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Add "processing meta-data" string backYonghong Zhu2018-01-231-3/+3
| | | | | | | | | Previous build tool will display "processing meta-data ..." to let user know the progress. this Patch add this string back. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Optimizing DscDefaultValue process in BuildReportFrom: Yunhua Feng2018-01-211-2/+2
| | | | | | | | | | | | DscDefaultValue from Dsc file has been parsed by ValueExpressionEx when Dsc file parse, so only DscDefaultValue from FDF file need ValueExpressionEx parse Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: Fix GenFds increment build bug that missing cover command ↵Yunhua Feng2018-01-211-3/+3
| | | | | | | | | | | | | | | | option's change Issue decription: step 1, build platform X64 step 2, build platform IA32 step 3, build platform X64 step 4, check all ffs files for X64, the content still has IA32 in it Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: enhance error handling for option --binary-sourceYonghong Zhu2018-01-191-0/+6
| | | | | | | | | Enhance error handling for option --binary-source to report invalid option value. --binary-destination use same rule. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Enable MAX_CONCURRENT_THREAD_NUMBER = 0 featureYunhua Feng2018-01-151-2/+6
| | | | | | | | | | | | when set 'MAX_CONCURRENT_THREAD_NUMBER=0', will auto-detect number of processor threads as MAX_CONCURRENT_THREAD_NUMBER. Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=775 Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: Correct Target Path in CodaTargetList replace PathYunhua Feng2018-01-101-1/+2
| | | | | | | | | | | Target Path in CodaTargetList is DebugDir path, correct replace path with DebugDir Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: Add back the cc71d8 version's fixYonghong Zhu2018-01-091-6/+6
| | | | | | | | The version cc71d8's fix was washed out by structure pcd report patch. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Not print SKUID info for PCD when it is only Single SKUIDYonghong Zhu2018-01-091-35/+59
| | | | | | | | | | when it is only single SKUID, we don't need to print the SKUID info for every PCD since in the Global section there already have this info. For DefaultStore, we use same rule. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Fix Sku inherit issue.BobCF2018-01-082-2/+4
| | | | | | | | The final Pcd value should only be override by its parents. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Feng Bob C <bob.c.feng@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Fix Pcd value override issue caused by SKU inheritFeng, Bob C2018-01-081-2/+44
| | | | | | | | Pcd default value in DEC should only be assigned once. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Bob Feng <bob.c.feng@intel.com> Cc: Liming Gao <liming.gao@intel.com>
* BaseTools: Fix an issue in HiiPcd generationBobCF2018-01-081-3/+2
| | | | | | | | | | DynamicHiiPcd may be used by PEIM or DXE driver. All used DynamicHiiPcd value should be collected and placed into the default setting PCD PcdNvStoreDefaultValueBuffer. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Bob Feng <bob.c.feng@intel.com> Cc: Liming Gao <liming.gao@intel.com>
* BaseTools: Fix the regression bug of a74398 for SubFv ImageYonghong Zhu2018-01-031-2/+2
| | | | | | | | | in version a74398 we use guid value and Fv name as ffs dir for FILE statement, this patch apply this rule on subFv image. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Add DevicePath support for PCD valuesYonghong Zhu2017-12-311-2/+32
| | | | | | | | | | | | Use C code parse device path to output hex string, and Python run command when PCD Value need device path parse. https://bugzilla.tianocore.org/show_bug.cgi?id=541 Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com> Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Fix the bug for QuarkPlatformPkg build failureZhu, Yonghong2017-12-291-1/+1
| | | | | | | | | | | | The issue is that the string 'LPC' starts with the 'L' character and this is being confused with L" or L' for a Unicode string or Unicode character. Fixes:https://bugzilla.tianocore.org/show_bug.cgi?id=831 Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Fix a bug for different FV use same FILE statement GuidYonghong Zhu2017-12-293-4/+7
| | | | | | | | | | | We meet a case that different FV use same FILE statement Guid, but the FILE content is different. current we use the Guid value as Ffs file dir which cause the ffs file will be override. This patch use Guid value and Fv name as ffs dir for FILE statement. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Remove 'COMMON' in PCD SkuInfoListBobCF2017-12-271-2/+1
| | | | | | | | | | 'COMMON' is an alias of 'DEFAULT' for internal code, it should be removed before generating Pcd DataBase. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Bob Feng <bob.c.feng@intel.com> Cc: Liming Gao <liming.gao@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Support PCD flexible values formatYonghong Zhu2017-12-279-114/+430
| | | | | | | | | https://bugzilla.tianocore.org/show_bug.cgi?id=541 Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com> Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Add Platform Override Build Options for PcdValueInitYonghong Zhu2017-12-271-4/+73
| | | | | | | | Add Platform's CC_FLAGS /D option for PcdValueInit generation. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Update copyright year info of DSC/DEC/INF BuilData.py fileYonghong Zhu2017-12-273-3/+3
| | | | | | | | | | | The DecBuildData.py, DscBuildData.py and InfBuildData.py were separated from WorkspaceDatabase.py, so we updated to use same copyright year info. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Update Python Makefile to include the new added python filesLiming Gao2017-12-271-0/+4
| | | | | | | | | Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Cc: Bob Feng <bob.c.feng@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Bob Feng <bob.c.feng@intel.com>
* BaseTools: Update SkuId checker to make sure it be valid UINT64 valueLiming Gao2017-12-271-3/+3
| | | | | | | | Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Cc: Bob Feng <bob.c.feng@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: Fix building FatPkg failed issueFeng, Bob C2017-12-261-2/+16
| | | | | | | | | Using property instead of vairable for DecPcds. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Bob Feng <bob.c.feng@intel.com> Cc: Liming Gao <liming.gao@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Fixed the issue of structure pcd filed sku inherit overrideLiming Gao2017-12-252-58/+118
| | | | | | Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Feng Bob C <bob.c.feng@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Fix VPD data optimization issueLiming Gao2017-12-253-16/+29
| | | | | | Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Feng Bob C <bob.c.feng@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Support nest field name in DSC/DECLiming Gao2017-12-252-13/+16
| | | | | | Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Feng Bob C <bob.c.feng@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Check PCD DataType and the maxsize.BobCF2017-12-252-6/+33
| | | | | | Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Feng Bob C <bob.c.feng@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Correct PCD generation logic to make sure DB is useLiming Gao2017-12-251-12/+12
| | | | | | Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Feng Bob C <bob.c.feng@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Generate correct VPD PCD value to store the default settingLiming Gao2017-12-252-34/+42
| | | | | | Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Feng Bob C <bob.c.feng@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Add error message if Structure PCD value is wrongLiming Gao2017-12-251-3/+35
| | | | | | Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: Fixed the issue of Multiple Skus are always disablesLiming Gao2017-12-255-35/+67
| | | | | | | | | When multiple skus are enabled, PCD database should record the supported SKUs. This patch fixes PCD database to add the missing supported SKUs. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Bob Feng <bob.c.feng@Intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>