summaryrefslogtreecommitdiffstats
path: root/BaseTools/Source/Python
Commit message (Collapse)AuthorAgeFilesLines
* BaseTools: enable hash value check for single module buildYonghong Zhu2017-12-131-1/+4
| | | | | | | | | | This patch enables hash value check for single module build to decide whether we can skip to build this module. 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: back up the binary files when hash value is sameYonghong Zhu2017-12-132-2/+16
| | | | | | | | | | | | | | V2: change to use InfBuildData but not ModuleAutoGen We meet the case that first build with --hash option, then build it again with --hash and --binary-destination option, since the hash value is same, tool will not build the driver again, it cause the binary files are not backed up. 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: Not cache the .efi file location into build optionYonghong Zhu2017-12-131-3/+0
| | | | | | | | | | | We don't need cache the .efi file location into build option, otherwise when we change the --binary-destination location, it would cause the hash value is different. 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 the incorrect indent introduced by 37de70Yonghong Zhu2017-12-131-1/+1
| | | | | | | | | | The incorrect indent introduced by 37de70, it cause PEIM in sub FV image can't be rebased. Then it block some platform can't boot. 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: Add object_files.lst as dependency of lib targetYonghong Zhu2017-12-101-0/+2
| | | | | | | | | | Seems object_files.lst is not added as dependency of lib target, this patch update BaseTools to generate Makefile with this dependency. 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 GenSec can't found the depex fileYunhua Feng2017-12-082-4/+5
| | | | | | | | | | | Filter the FileList when multiple genfds thread options is not enabled. Cc: Liming Gao <liming.gao@intel.com> 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> Tested-by: Leif Lindholm <leif.lindholm@linaro.org> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Update Makefile to support FFS file generationYonghong Zhu2017-12-0524-411/+793
| | | | | | | | | | | Update Makefile to support FFS file generation with new build option --genfds-multi-thread. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Update Trim to generate VfrBinOffset BinaryYonghong Zhu2017-12-051-3/+78
| | | | | | | | | | Its usage is "Trim --Vfr-Uni-Offset -o $(OUTPUT_DIR)(+)$(MODULE_NAME)VfrOffset.sec --ModuleName=$(MODULE_NAME) --DebugDir=$(DEBUG_DIR)" 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: Fix a bug for single module build with GenC/GenMake optionYonghong Zhu2017-11-201-5/+0
| | | | | | | | | | | when build a single module with GenC/GenMake option, currently it will direct return after create Autogen code files, then it cause MaList is empty, which cause an incorrect error message is reported. 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: Guid.xref contain information from FILE statements in FDFYonghong Zhu2017-11-201-2/+86
| | | | | | | | | | | | Update Guid.xref to contain information from FILE statements in FDF file. Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=778 Cc: Liming Gao <liming.gao@intel.com> Cc: Dmitry Antipov <dmanti@microsoft.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 the bug to collect source files per build rule familyYonghong Zhu2017-11-201-4/+4
| | | | | | | | | | | | when collect source files list we should also consider build rule family. BuildRuleFamily may be set to the different one. It will impact BuildRule and source files in INF file. Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=780 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 the bug to re-build uni file for LibraryYonghong Zhu2017-11-141-4/+6
| | | | | | | | | | | | | The root cause is Module's self.CanSkip() is before LibraryAutoGen, then when a uni file of library is changed, Module's self.CanSkip() is still true which cause the library is not regenerated. This patch change Module's self.CanSkip() after LibraryAutoGen. Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=759 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: parse map file generated by Xcode on MacYonghong Zhu2017-11-032-1/+36
| | | | | | | | | | Add support to parse map file generated by Xcode on Mac to get variable offset and Patchable Pcd info in current EFI file. 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 Build directory should relative to WORKSPACEYonghong Zhu2017-10-163-1/+3
| | | | | | | | | | | | | The bug is for build output files it still use mws.join function, it cause maybe we will get the build output files in the PACKAGES_PATH because mws.join will try WORKSPACE first, if the file doesn't exist then try PACKAGES_PATH. But for build output, we expected it should relative to WORKSPACE. 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 the Keyword error for <ExtendedFvEntry> in FDF FileYonghong Zhu2017-10-111-1/+1
| | | | | | | | | | | | current in FDF spec 3.6 [FV] section it use "FV_EXT_ENTRY_TYPE" as Keyword for <ExtendedFvEntry>, while in the code it use "FV_EXT_ENTRY". To keep compatibility, this patch support both keyword in the code first. 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 the bug 'DSC DEFAULT' in report wrongly use FDF valueYonghong Zhu2017-10-113-15/+18
| | | | | | | | | | | | | | current the PCD value in DSC file may be override by FDF file, then it cause the 'DSC DEFAULT' in build report wrongly display the FDF value but not the DSC file's value. This patch add a attribute DscDefaultValue for PcdClassObject to save the actual DSC file's PCD value and use this value to display for 'DSC DEFAULT'. 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 to use module's Name attribute as compareYonghong Zhu2017-10-101-1/+1
| | | | | | | | | | | Fix a bug to use module's Name attribute as compare for single module build. ModuleFile.File can't be used to compare INF file, because it is the relative path. 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: PI 1.6 to support FV extended header contain FV used sizeYunhua Feng2017-10-032-2/+17
| | | | | | | | | | | Per PI 1.6 we added an FV Extended Header entry that would contain the size of the FV that was in use. 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: Liming Gao <liming.gao@intel.com>
* BaseTools: Fix the regression bug to build single moduleYonghong Zhu2017-09-281-0/+12
| | | | | | | | | | The bug is introduced by 1b8eca to collect single module's build time. Now the fix solution is copied from Platform build. 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: add support for BIOS build with binary cacheYonghong Zhu2017-09-273-9/+189
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add three new options: --hash enables hash-based caching during build process. when --hash is enabled, build tool will base on the module hash value to do the incremental build, without --hash, build tool will base on the timestamp to do the incremental build. --hash option use md5 method to get every hash value, DSC/FDF, tools_def.txt, build_rule.txt and build command are calculated as global hash value, Package DEC and its include header files are calculated as package hash value, Module source files and its INF file are calculated as module hash value. Library hash value will combine the global hash value and its dependent package hash value. Driver hash value will combine the global hash value, its dependent package hash value and its linked library hash value. When --hash and --binary-destination are specified, build tool will copy generated binary files for each module into the directory specified by binary-destination at the build phase. Binary-destination directory caches all generated binary files. When --hash and --binary-source are specified, build tool will try to get the binary files from the binary source directory at the build phase.If the cached binary has the same hash value, it will be directly used. Otherwise, build tool will compile the source files and generate the binary files. 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: report build time measured by module of EDKII BuildYonghong Zhu2017-09-263-11/+92
| | | | | | | | | | | In the build report, we add AutoGen Phase, Make Phase and GenFds Phase time duration in the Platform Summary section, and we also add a item in Module section to display module and library's build time. 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: extend FFS alignment to 16MYonghong Zhu2017-09-258-35/+68
| | | | | | | | | | Current FFS only supports 64KiB alignment for data, Per PI 1.6 requirement, we extend FFS alignment to 16M. 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 to correct SourceFileListYonghong Zhu2017-09-191-0/+7
| | | | | | | | | | | | | We met a case that use two microcode files in the Microcode.inf file, one is .mcb file, another is .txt file. then it cause build failure because the SourceFileList include the .txt file's output file, while this output file is still not be generated, so it cause GetFileDependency report failure. 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 Mixed Pcd value display in the reportYonghong Zhu2017-09-111-1/+11
| | | | | | | | | | the case is that override the mixed pcd value in DSC [Components] section, the value display in the report is incorrect. 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: Not show *B when Pcd value in build option same with DECYonghong Zhu2017-09-091-3/+3
| | | | | | | | | | | Per build spec, If the value obtained from either a build option, the DSC or FDF is the same as the value in the DEC, then *B , *P or *F will not be shown in the report. 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 the bug that same region print twice in the build logYonghong Zhu2017-09-091-26/+32
| | | | | | | | | This patch fixed the bug that same region print twice in the build log. 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: correct to use specific arch to generate DSC databaseYonghong Zhu2017-09-091-1/+1
| | | | | | | | | Not generic to use 'Common' arch, but use current build arch. 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 help info for -Y option to include 'HASH'Yonghong Zhu2017-09-051-1/+1
| | | | | | | | | | Per build spec,the default set of flags for -Y option include 'HASH', so this patch to update the help 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/UPT: Fix UNI file name issueHess Chen2017-08-244-4/+16
| | | | | | | | | Fix the issue of creating duplicate UNI file names Fix the issue of removing packages Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hess Chen <hesheng.chen@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: Support TabSpace between section tag in DEC fileYanyan Zhang2017-08-131-1/+1
| | | | | | | | | | | | | | Per DEC spec, multiple section tag use <TS> to separate, and it can support Tab, so this patch fix the bug to use Tab. <TabSpace> ::= {<Tab>} {<Space>} <TS> ::= <TabSpace>* Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yanyan Zhang <yanyanx.zhang@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: Don't need to add extra quotes when UI string from fileBin Wang2017-08-121-2/+1
| | | | | | | | | | | when the UI string is read from files, we don't need to add the extra quotes. Otherwise, it will cause UI name has this extra quotes. Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Bin Wang <binx.a.wang@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools/UPT: Support Multiple InstallationHess Chen2017-08-128-102/+145
| | | | | | | | | Add a new feature to UPT to support installing multiple DIST packages in one time. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hess Chen <hesheng.chen@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools/build: Expand PREBUILD/POSTBUILD DSC actionsMichael D Kinney2017-08-112-30/+82
| | | | | | | | | | | | | | | | | | | | | | | https://bugzilla.tianocore.org/show_bug.cgi?id=670 * Extend PREBUILD/POSTBUILD define values to support more than one argument. * Delay normalization of PREBUILD/POSTBUILD define values until all arguments in the define values can be processed. * Convert PREBUILD/POSTBUILD build define value arguments that are WORKSPACE or PACKAGES_PATH relative paths to absolute paths. * Append -p PlatformFile, --conf=ConfDirectory, and build target flags to command line used to execute PREBUILD/POSTBUILD actions. * Remove PrebuildScript and PostbuildScript fields from the Build class and use Prebuild and Postbuild fields instead. Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Michael Kinney <michael.d.kinney@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: Fix the bug to correctly check Pcd type that in FDF fileYonghong Zhu2017-08-011-0/+7
| | | | | | | | | | | We set Pcd value in FDF and used this Pcd as PatchableInModule type in module, it cause build report generate failure. because we incorrectly set the Pcd type during check whether the Pcd is used. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: Fix the bug that warn() function with only 1 argumentYonghong Zhu2017-07-261-1/+1
| | | | | | | | | In the definition, the warn() function takes at least 2 arguments. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: add some comment for .PrebuildEnv file's usageYonghong Zhu2017-07-261-0/+5
| | | | | | | | | | This patch add some comments to explain why we use .PrebuildEnv file to save environment variable settings set by the prebuild script. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools/Build: Support python scripts in PREBUILD/POSTBUILDMichael Kinney2017-07-131-2/+2
| | | | | | | | | | | | | https://bugzilla.tianocore.org/show_bug.cgi?id=627 Add shell=True in Popen() calls to support direct execution of python scripts Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Michael Kinney <michael.d.kinney@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: Report Fd File Path in build logYunhua Feng2017-07-101-6/+3
| | | | | | | | | | At the end of build, Report Fd image path in build log Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: Fix FDF file parse !include file issueYunhua Feng2017-07-101-0/+4
| | | | | | | | | | | | when FDF file use "!include" format to include the other file, and the end line of the file not end with '\n', the include file parse error. Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools: Add PCDs conditional operator functionYunhua Feng2017-07-101-5/+17
| | | | | | | | | | | Parse PCDS value like A >B ? C :D if A > B is True, the result is C, else the result is D Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
* BaseTools/Eot: register MM Module types with FFS class.Supreeth Venkatesh2017-07-071-0/+2
| | | | | | | | | This patch registers MM_STANDALONE and MM_CORE_STANDALONE with Ffs class. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao <jiewen.yao@intel.com> Signed-off-by: Supreeth Venkatesh <supreeth.venkatesh@arm.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools/Workspace: check MM module type compatibility with PI version.Supreeth Venkatesh2017-07-071-0/+5
| | | | | | | | | | | This patch checks SUP_MODULE_MM_CORE_STANDALONE and SUP_MODULE_MM_STANDALONE module compatibility with PI specification version. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao <jiewen.yao@intel.com> Signed-off-by: Supreeth Venkatesh <supreeth.venkatesh@arm.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools/build: register MM module types with build tools.Supreeth Venkatesh2017-07-072-2/+4
| | | | | | | | | | This patch registers MM_STANDALONE and MM_CORE_STANDALONE module type with python build tools. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao <jiewen.yao@intel.com> Signed-off-by: Supreeth Venkatesh <supreeth.venkatesh@arm.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools/GenFds: register MM Modules and MM FV file types.Supreeth Venkatesh2017-07-073-4/+11
| | | | | | | | | | | | | | | This patch verifies MM_CORE_STANDALONE module compatibility with PI specification version. Also, it registers MM_STANDALONE/MM_CORE_STANDALONE modules with FdfParser class and provides mapping between MM_STANDALONE and MM_CORE_STANDALONE module type in FDF with EFI_FV_FILETYPE_MM_STANDALONE and EFI_FV_FILETYPE_MM_CORE_STANDALONE file types in GenFfs. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao <jiewen.yao@intel.com> Signed-off-by: Supreeth Venkatesh <supreeth.venkatesh@arm.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools/CommonDataClass: register MM Modules.Supreeth Venkatesh2017-07-072-4/+4
| | | | | | | | | | This patch registers MM_STANDALONE and MM_CORE_STANDALONE module types with CommonClass and PackageIncludePkgHeaderClass in CommonDataClass. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao <jiewen.yao@intel.com> Signed-off-by: Supreeth Venkatesh <supreeth.venkatesh@arm.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools/Common: add support in FDF Parser to parse MM Modules.Supreeth Venkatesh2017-07-071-2/+2
| | | | | | | | | | This patch adds support for FdfParser tool to parse MM_STANDALONE and MM_CORE_STANDALONE modules. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao <jiewen.yao@intel.com> Signed-off-by: Supreeth Venkatesh <supreeth.venkatesh@arm.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools/Common: add MM Module data types.Supreeth Venkatesh2017-07-071-1/+3
| | | | | | | | | | | This patch adds SUP_MODULE_MM_STANDALONE and SUP_MODULE_MM_CORE_STANDALONE data types and includes it in SUP_MODULE_LIST. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao <jiewen.yao@intel.com> Signed-off-by: Supreeth Venkatesh <supreeth.venkatesh@arm.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools/AutoGen: auto generate MM template APIs and dependencies.Supreeth Venkatesh2017-07-072-3/+162
| | | | | | | | | | | | | | | | | | | | | This patch adds changes to auto generate MM_CORE_STANDALONE and MM_STANDALONE Entry Point templates. Also, it adds changes to help auto generate dependency expressions for MM_STANDALONE modules. PI Specification v1.5 specifies Management Mode System Table (MMST) which is a collection of common services for managing MMRAM allocation and providing basic I/O services. MMST is similar to the UEFI System Table. (Currently, EFI_SMM_SYSTEM_TABLE2 defines Management Mode System Table) Some of auto generated MM_CORE_STANDALONE and MM_STANDALONE template APIs use MMST as parameter. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao <jiewen.yao@intel.com> Signed-off-by: Supreeth Venkatesh <supreeth.venkatesh@arm.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: support building the same INF more than once with -m optionYonghong Zhu2017-06-241-6/+9
| | | | | | | | | | | Currently DSC file [Components] Section can support building the same INF more than once for the same arch, this patch support build with -m option to generate multiple instances. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* BaseTools: report error HiiString in HII format PCD must not be emptyYonghong Zhu2017-06-241-0/+7
| | | | | | | | | | Add a check that HiiString field in the HII format PCD entry must not be an empty string. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>