Commit Graph

1080 Commits

Author SHA1 Message Date
Eric Dong 871f673315 Rollback change 16544.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16561 6f19259b-4bc3-4df7-8a09-765794883524
2014-12-30 03:03:37 +00:00
Cinnamon Shia 997a5d1b04 Fix ‘build run’ doesn’t work for NT32 X64 build.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Cinnamon Shia <cinnamon.shia@hp.com>
Reviewed-by: Yingke Liu <yingke.d.liu@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16550 6f19259b-4bc3-4df7-8a09-765794883524
2014-12-23 05:48:31 +00:00
Aaron Pop f571ef9880 Fixed VfrCompile crash on efivarstore statement.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Aaron Pop <aaronp@ami.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16544 6f19259b-4bc3-4df7-8a09-765794883524
2014-12-22 02:21:53 +00:00
Hess Chen 8d62ae35ca BaseTools/ECC: Fix some issues of ECC tool
Add support for the usage which is defined in the above line for a Protocol/Ppi/Guid
Add support for “!ERROR”
Ignore issue of parsing a macro

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hess Chen <hesheng.chen@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16487 6f19259b-4bc3-4df7-8a09-765794883524
2014-12-09 06:41:58 +00:00
Yingke Liu 8546dfeace Fix a regression bug to uni parser.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yingke Liu <yingke.d.liu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16469 6f19259b-4bc3-4df7-8a09-765794883524
2014-12-03 08:30:56 +00:00
Scott Duplichan 62771cee1d Fix ARM build failure with gcc 4.6.
Gcc option -mno-unaligned-access is supported by gcc 4.7 and newer, so it shouldn't be used with gcc 4.6.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Scott Duplichan <scott@notabs.org>
Reviewed-by: Yingke Liu <yingke.d.liu@intel.com>
Reviewed-by: Olivier Martin <Olivier.martin@arm.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16464 6f19259b-4bc3-4df7-8a09-765794883524
2014-12-02 00:44:04 +00:00
Yingke Liu edafa0bbe4 Enhance error handling for external tool.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yingke Liu <yingke.d.liu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16458 6f19259b-4bc3-4df7-8a09-765794883524
2014-12-01 08:22:07 +00:00
Cecil Sheng 71f02911b1 Corrected slash and quote handling in the strings of UNI files.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Cecil Sheng <cecil.sheng@hp.com>
Reviewed-by: Yingke Liu <yingke.d.liu@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16456 6f19259b-4bc3-4df7-8a09-765794883524
2014-12-01 01:05:05 +00:00
Hess Chen 1f0a062f8c BaseTools/UPT: Fix an issue of storing wrong PCD into XML file.
Fix an issue of storing wrong PCD into XML file to only store PcdEx for AsBuilt sections

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hess Chen <hesheng.chen@intel.com>
Reviewed-by: Yingke Liu <yingke.d.liu@Intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16426 6f19259b-4bc3-4df7-8a09-765794883524
2014-11-25 04:58:17 +00:00
Scott Duplichan 915a379b1c BaseTools: Extend support for Windows hosted gcc to versions 4.4-4.7.
Revision 16400 adds support for Windows hosted gcc versions 4.8 and 4.9.
With this change, all of the GCCXX tool chains can be used from Windows.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Scott Duplichan <scott@notabs.org>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16418 6f19259b-4bc3-4df7-8a09-765794883524
2014-11-24 02:43:17 +00:00
Scott Duplichan 285a175441 BaseTools: Modify gcc 4.8 and 4.9 tool chain definition to support building from Windows.
Here is a new patch that adds Windows support for both gcc 4.8.x and gcc 4.9.x. 
This time testing is more thorough: boot testing using Duet for all 4 combinations of 
IA32/X64 and gcc 4.8.2 and gcc 4.9.1 passes. A Windows hosted gcc 4.8.2 has been added here:
http://sourceforge.net/projects/edk2developertoolsforwindows/

The environment variable settings for Windows look like:

set UEFI_BUILD_TOOLS=%cd%\tools
set NASM_PREFIX=%UEFI_BUILD_TOOLS%\nasm211\
set GCC48_BIN=%UEFI_BUILD_TOOLS%\gcc482-x86\bin\
set GCC48_DLL=%UEFI_BUILD_TOOLS%\gcc482-x86\dll\;%GCC48_BIN%
set GCC48_ARM_PREFIX=%UEFI_BUILD_TOOLS%\gcc482-arm\bin\
set GCC48_AARCH64_PREFIX=%UEFI_BUILD_TOOLS%\gcc482-aarch64\bin\
set GCC49_BIN=%UEFI_BUILD_TOOLS%\gcc491-x86\bin\
set GCC49_DLL=%UEFI_BUILD_TOOLS%\gcc491-x86\dll\;%GCC49_BIN%
set GCC49_ARM_PREFIX=%UEFI_BUILD_TOOLS%\gcc491-arm\bin\
set GCC49_AARCH64_PREFIX=%UEFI_BUILD_TOOLS%\gcc491-aarch64\bin\

No change is needed for building from Linux. 

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Scott Duplichan <scott@notabs.org>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16400 6f19259b-4bc3-4df7-8a09-765794883524
2014-11-18 02:38:20 +00:00
Liming Gao d808fc659d BaseTools: Correct NASM output file type for UNIXGCC and CYGGCC.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Yingke Liu <yingke.d.liu@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16399 6f19259b-4bc3-4df7-8a09-765794883524
2014-11-18 02:19:47 +00:00
Yingke Liu bcbdc75535 BaseTools: Fix a cleanall issue.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yingke Liu <yingke.d.liu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16338 6f19259b-4bc3-4df7-8a09-765794883524
2014-11-12 08:26:03 +00:00
Yingke Liu 8200fcfe54 BaseTool: Support EDKII style GUID definition for VFR function.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yingke Liu <yingke.d.liu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16330 6f19259b-4bc3-4df7-8a09-765794883524
2014-11-11 07:33:50 +00:00
Olivier Martin b85f57995e BaseTools/GenFw: Fixed R_AARCH64_CALL26/R_AARCH64_JUMP26 when referring to start of a section
When R_AARCH64_CALL26/R_AARCH64_JUMP26 relocations referred to static
functions, they sometime refer to the start of the '.text' section + addend.
It means the addend is different of '0'.
The non-patched code (before applying the relocation) already contains
the correct offset.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Yingke Liu <yingke.d.liu@intel.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16302 6f19259b-4bc3-4df7-8a09-765794883524
2014-11-05 18:56:17 +00:00
Jordan Justen 26830e8579 EDK II Contributions.txt: Update patch format information
Update to show what the patch looks like in email form.

NOTE: This does not modify the wording of the "TianoCore Contribution
      Agreement 1.0" section

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16297 6f19259b-4bc3-4df7-8a09-765794883524
2014-10-31 22:05:50 +00:00
Jordan Justen fe7ad7f6af BaseTools: Add ConvertMasmToNasm.py script
This script is intended to assist with MASM to NASM syntax
conversions.

The output should be manually inspected and adjusted as needed, since
this script does not provide a perfect conversion.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Acked-by: Yingke D Liu <yingke.d.liu@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16285 6f19259b-4bc3-4df7-8a09-765794883524
2014-10-31 19:55:15 +00:00
Hess Chen 0414ec24ba BaseTools/UPT: Remove Macro Expend for UserExtension section
Remove Macro Expend for UserExtension section

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hess Chen <hesheng.chen@intel.com>
Reviewed-by: Gao, Liming <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16226 6f19259b-4bc3-4df7-8a09-765794883524
2014-10-22 06:44:45 +00:00
Ryan Harkin 71bcf79963 EDK II: Add .gitignore
While edk2 is still maintained in SVN, Many edk2 developers use git
for their main workflow, using the official mirrors.

Add a .gitignore to the EDK II root, BaseTools and Conf directories to
prevents files generated as part of the build from cluttering up "git
status" output.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ryan Harkin <ryan.harkin@linaro.org>
[removed Linaro-specific bits, rework for upstream]
Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16213 6f19259b-4bc3-4df7-8a09-765794883524
2014-10-14 16:08:15 +00:00
Nikolai Saoukh 0a0ca7877d BaseTools: Use '/' as path separator for objcopy --add-gnu-debuglink
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Nikolai Saoukh <nms@otdel-1.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16172 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-25 02:29:18 +00:00
Leif Lindholm e0ba625fc6 BaseTools: Actually plug in BaseTools build on AArch64
Support for building BaseTools on AArch64 is available in the tree, but
not currently "plugged in". This patch adds the required snippet.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16169 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-24 21:07:53 +00:00
Gao, Liming b4dfada85d BaseTools: Update nmake Makefile to handle the file path with “:\\”.
DOS del command doesn’t handle “:\\” in the file path. This patch converts “:\\” to “:\”.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gao, Liming <liming.gao@intel.com>
Reviewed-by: lhauch <larry.hauch@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16160 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-23 01:32:56 +00:00
Hess Chen e7ae4a7cb3 BaseTools/ECC: Ignore duplicate check for 'NULL' library
Update a checkpoint to ignore duplicate check for 'NULL' library

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hess Chen <hesheng.chen@intel.com>
Reviewed-by: Yingke Liu <yingke.d.liu@Intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16154 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-22 07:37:28 +00:00
Hess Chen 875cc5bb97 BaseTools/Upt: Fix several bugs
1. Fix a bug of generating additional EOL in file header.
2. Fix a bug of format error for Defines section.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hess Chen <hesheng.chen@intel.com>
Reviewed-by: Yingke Liu <yingke.d.liu@Intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16153 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-22 07:06:12 +00:00
Hess Chen 76d475117d BaseTools/Upt: Fix several bugs
1. Fix a bug of packaging a full path file in zip at Linux.
2. Fix a format error of generating Hob/Event/BootMode information.
3. Fix a bug of generating additional “GUID” subtype for “UNDEFINED” guid.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hess Chen <hesheng.chen@intel.com>
Reviewed-by: Yingke Liu <yingke.d.liu@Intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16149 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-19 02:04:08 +00:00
Gao, Liming ec53da7bfa BaseTools: Update the BaseTools/Source/Python/Makefile to check for dependent files
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gao, Liming <liming.gao@intel.com>
Reviewed-by: Hauch, Larry <larry.hauch@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16124 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-17 08:47:01 +00:00
Gao, Liming 4d10d18db9 Update Build Tool version from 0.51 to 0.60
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gao, Liming <liming.gao@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16114 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-16 09:03:00 +00:00
Yingke Liu 9b9500a1c9 Support DSC and FDF file out of WORKSPACE by GenFds.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yingke Liu <yingke.d.liu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16113 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-16 08:33:40 +00:00
Andrew Fish 438f3ad68f BaseTools/Source/C: Only used '-Wno-self-assign' when BaseTools are built on DARWIN
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Andrew Fish <afish@apple.com>
Reviewed-By: Olivier Martin <olivier.martin@arm.com>
Tested-By: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Gao, Liming <liming.gao@intel.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16106 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-16 00:38:12 +00:00
lhauch 6c22c0a35d The current Makefile only checks the primary python file, such as build.py and does not check other files in tool’s directory tree.
This modification adds all of the other files within the tool’s directory tree that would be a cause to rebuild the tool.

The format in the Makefile for listing these other files was selected to allow the nightly build script to detect changes in the additional files.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: lhauch <larry.hauch@intel.com>
Reviewed-by: Gao, Liming <liming.gao@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16103 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-12 22:59:04 +00:00
Feng, Bob C 84cc912aee This patch is going to fix the issue of the mis-match between the index of Platform DynamicPcd list and Dynamic Pcd generated token number.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Feng, Bob C <bob.c.feng@intel.com>
Reviewed-by: Yingke Liu <yingke.d.liu@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16101 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-12 08:46:30 +00:00
Yingke Liu 7ae7dcb976 BaseTools: Fix the regression issue after enbaling s_* an d_* macros in FDF.
Add the missing 'MacroDict' field in FfsInfStatement. 

The issue is that BaseTools/Source/Python/GenFds/FfsInfStatement.py", line 448, in __ExtendMacro__
    String = GenFdsGlobalVariable.MacroExtend(String, self.MacroDict)
AttributeError: OptRomInfStatement instance has no attribute 'MacroDict'

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yingke Liu <yingke.d.liu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16099 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-12 06:57:22 +00:00
Abner Chang 0acb3d2862 Add support for ${s_*} and ${d_*} macros for in FDF file for the INF files, and for each statement in the build rules.
The following keywords are supported:
"src", "s_path", "s_dir", "s_name", "s_base", "s_ext", "dst", "d_path", "d_name", "d_base", "d_ext" 

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Abner Chang <abner.chang@hp.com>
Reviewed-by: Yingke Liu <yingke.d.liu@intel.com>
Reviewed-by: Larry Hauch <larry.hauch@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16094 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-11 06:44:17 +00:00
Andrew Fish e5367bfb61 BaseTools: Fix XCODE5 to work properly with NASM
The default object type for NASM is raw binary, and this will not link.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Andrew Fish <afish@apple.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16085 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-10 16:48:59 +00:00
lhauch 0d5d829c0e This file allows a developer to add a new tool in either the C or Python trees, add the executable (and any supporting files, such as the TestSigningPrivateKey.pem file) to this file and the build server will automatically make sure that the new files are added to the BaseTools\Bin\Win32 directory. The Win32 directory is located in https://svn.code.sf.net/p/edk2-toolbinaries/code/trunk/Win32 repository.
Developer - Tool add process:
1)	Developer adds code for the new tool.
2)	Developer updates the Makefile in the C or Python directory
a)	The entry must make sure that the executable is generated in the BaseTools\Bin\Win32 directory and any supporting files are copied to the same directory as part of the build step.
3)	Developer adds the <Toolname>.exe under the [Bin.Win32] section in the BinaryFiles.txt file.
4)	Developer adds other files required to be present in the [ExtraFiles.Win32] section in the BinaryFiles.txt file.

Build Server:
1)	Build all binaries by calling nmake on the Source\C\Makefile and Source\Python\Makefile
2)	After building the binaries, the build server verify that the files listed in BaseTools\Source\BinFiles.txt are also in the edk2-toolbinaries project,
a.	If a file is not under source control, then the build server will add file as long as it is present.

File format:
[SectionName.TargetDir]
File1
File2
…

Where: 
SectionName is one of Bin, ExtraFiles or CxFreeze
TargeDir is the name of the subdirectory in the BaseTools\Bin directory tree.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: lhauch <larry.hauch@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16063 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-05 14:15:40 +00:00
Hess Chen 49d9b71df2 BaseTools/AutoGen: Remove redundant copy action for binary module
Remove redundant copy action for binary module to copy binary files to output directory only when the binary module is a library

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hess Chen <hesheng.chen@intel.com>
Reviewed-by: Yingke Liu <yingke.d.liu@Intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16057 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-04 08:32:44 +00:00
Hess Chen cf2b2bdef3 BaseTools/UPT: Replace os.linesep with '\r\n' when generating UNI files.
Replace os.linesep with '\r\n' when generating UNI files to make sure all files are under DOS format.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hess Chen <hesheng.chen@intel.com>
Reviewed-by: Gao, Liming <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16041 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-03 08:25:10 +00:00
Hess Chen 51b8553fd2 BaseTools/CommonLib: Add a step to convert ":\\" to ":\"
Convert ":\\\\" to ":\\", because it doesn't work with WINDOWS_EXTENSION_PATH.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hess Chen <hesheng.chen@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com> 


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16039 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-03 02:09:19 +00:00
Jordan Justen b3f9cdaebb BaseTools tools_def: Indicate that NASM 2.07 or later is required
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16018 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-01 17:22:58 +00:00
Jordan Justen ff0279814a BaseTools build_rule: Add .nasm => .obj build rule
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16017 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-01 17:22:51 +00:00
Jordan Justen 9a5a743582 BaseTools tools_def: Add NASM_FLAGS
Note: Only tested with the GCC49 toolchain so far.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16016 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-01 17:07:19 +00:00
Feng, Bob C 12d37ace00 This patch is going to fix the issue of only Default SkuId is built into the External Pcd DataBase.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Feng, Bob C <bob.c.feng@intel.com>
Reviewed-by: Gao, Liming <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16006 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-30 12:59:03 +00:00
Anderw Fish 9358dc21e7 BaseTools: Cleanup XCODE build rules
Update C-Code-File rule since XCODE never needs the SYMRENAME step.
Add *.S16 to Mash16-Code-File rule to supoprt 16-bit assmebly with XCODE

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Anderw Fish <afish@apple.com>
Reviewed-by: Gao, Liming <liming.gao@intel.com> 


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15980 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-29 18:34:04 +00:00
Anderw Fish 4484f397d3 BaseTools: Add the XCODE5 tools target to supoprt Xcode 5
Xcode 5 changed the arguments required to supoprt X64 EFIAPI so it is a new 
target. XCODE5 supports Xcode 5.* and Xcode 6.*, and will probably support
future versions of Xcode as well. 

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Anderw Fish <afish@apple.com>
Reviewed-by: Gao, Liming <liming.gao@intel.com> 



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15979 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-29 18:29:46 +00:00
Yingke Liu 97fa0ee9b1 License header updated to match correct format.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yingke Liu <yingke.d.liu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15971 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-28 13:53:34 +00:00
Anderw Fish f7523dee90 BaseTools: Fix BaseTools C compiler flags for Xcode 5
-fno-merge-constants is not supported by clang, and it warns it will turn into
  a hard error in the future.
-Wno-deprecated-declarations removes warnings about obsolete libraries that
  are not secure.
-Wno-self-assign removes warnings from LZMA code.
    
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Anderw Fish <afish@apple.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15938 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-28 05:13:37 +00:00
Anderw Fish ed395cfecd BaseTools: Fix clang C++ build error
Move argument default to constructor to remove clang warning.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Anderw Fish <afish@apple.com>
Reviewed-by: Gao, Liming <liming.gao@intel.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15932 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-28 05:04:57 +00:00
Anderw Fish 07355bd5cc [BaseTools] clang warns that since BaseAddress is unsigned it can never be < 0.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Anderw Fish <afish@apple.com>
Reviewed-by: Gao, Liming <liming.gao@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15931 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-28 05:02:35 +00:00
Andrew Fish 057ac410e3 BaseTools: add support Xcode 5 in the EmulatorPkg
The XCODE32 target is used to build the x86_64 Mac OS X application for the 
emulator. The other Xcode targets build the EFIAPI needed for UEFI. This patch
removes an obsolete command line argument.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Andrew Fish <afish@apple.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15930 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-28 04:57:12 +00:00
lhauch f4260465a8 Updated GenBootSector, GenCrc32 and GenPage to remove duplicate “Build” word in the version output, updated the minor number and copyright as needed.
Updated the VolInfo version output to remove the tool description from the --version output string.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: lhauch <larry.hauch@intel.com>
Reviewed-by: Gao, Liming <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15924 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-27 16:14:42 +00:00
Hess Chen fae62ff21a This patch is going to:
1.       Support a force binary build mode by adding “--ignore-source” to command line options.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hess Chen <hesheng.chen@intel.com>
Reviewed-by: Yingke Liu <yingke.d.liu@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15897 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-26 07:14:38 +00:00
Hess Chen 421ccda307 This patch is going to:
1.	Add a recovery mode for UPT failure
2.	Add UNI file support
3.	Add binary file header support
4.	Add support for PCD error message
5.	Add support for replace
6.	Format generated INF/DEC files
7.	Update dependency check
8.	Other minor fixes


Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hess Chen <hesheng.chen@intel.com>
Reviewed-by: Gao, Liming <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15896 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-26 05:58:02 +00:00
Feng, Bob C a0a2cd1ea6 This patch is going to correct the external PCD database generation rule to support the case that all binary driver are only listed in FDF file.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Feng, Bob C <bob.c.feng@intel.com>
Reviewed-by: Yingke Liu <yingke.d.liu@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15893 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-26 02:52:24 +00:00
Jordan Justen fad213a3db EDK II Contributions.txt: Note acceptable contribution licenses
We strongly prefer that contribtions be offered using the same license
as the project/module. But, we should document other acceptable
licenses for contributions.

This will allow package owners to more easily know if they can accept
a contribution under a different source license.

NOTE: This does not modify the wording of the "TianoCore Contribution
      Agreement 1.0" section

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Mark Doran <mark.doran@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15892 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-25 23:10:18 +00:00
lhauch d90aa46258 BootSectImage.exe, EfiLdrImage.exe and Split.exe tools have incorrect output from the --version option.
This patch fixes the --version option output and corrects the description displayed.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: lhauch <larry.hauch@intel.com>
Reviewed-by: Gao, Liming <liming.gao@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15890 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-25 20:06:55 +00:00
Yingke Liu b69fd59e6f Fix nmake cleanall bugs.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yingke Liu <yingke.d.liu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15887 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-25 05:00:34 +00:00
Hess Chen b3d07ff8d2 This patch is going to:
1.       Add a checkpoint to check if an UNI file is a valid UTF-16 file
2.       Add a checkpoint to check if a GUID/PPI/PROTOCOL/PCD is in a valid format.
3.       Some other minor changes.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hess Chen <hesheng.chen@intel.com>
Reviewed-by: Yingke Liu <yingke.d.liu@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15886 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-25 01:16:34 +00:00
lhauch bf47c6a11b Setting the svn property, svn:executable on the new scripts.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: lhauch <larry.hauch@intel.com>
Reviewed-by: Gao, Liming <liming.gao@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15868 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-21 17:20:55 +00:00
lhauch bd63012c73 Adding files for proposed replacement for edksetup.bat.
This changes includes new scripts that breaks out some of the functionality in edksetup.bat and eliminates calling the toolsetup.bat file in BaseTools directory.

Edk2Setup.bat is to be used for testing. If no bugs are reported by the end of September, 2014, the file will be renamed to edksetup.bat.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: lhauch <larry.hauch@intel.com>
Reviewed-by: Gao, Liming <liming.gao@intel.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15867 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-21 16:41:41 +00:00
Hess Chen 0923aa1c3a This patch is going to:
1.	Skip the content defined in USER EXTENSION section without raising an error.
2.	Wrap os.utime to use two arguments.
3.	Add GenFdsCommand for PlatformAutoGen

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hess Chen <hesheng.chen@intel.com>
Reviewed-by: Gao, Liming <liming.gao@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15865 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-21 07:51:21 +00:00
Yingke Liu 07b8564b11 AutoGen.c can only be generated if the module has intermediate object files generated or links other libraries.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yingke Liu <yingke.d.liu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15864 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-21 07:12:33 +00:00
Yingke Liu fcd4fbf30d 1. AutoGen.c should be generated if it is not empty even if there are no C source files.
2. If there are sub directories in current module, the corresponding directory in OUTPUT should be created.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yingke Liu <yingke.d.liu@intel.com>
Reviewed-by: Chen, Hesheng <hesheng.chen@intel.com>
Reviewed-by: Feng, Bob C <bob.c.feng@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15860 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-21 01:39:18 +00:00
Olivier Martin cb60328323 BaseTools: Added support for GCC stack protector for ARM architecture
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Yingke Liu <yingke.d.liu@intel.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15854 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-20 18:02:38 +00:00
Hess Chen df0cee8d8c This patch is going to:
1. Fix a bug in GenFds for wrongly handling '"' of command line parameter.
2. Provide different input parameter mode for different OS. For Linux, using a list. For Windows, using a string.
3. Remove 3 un-existing function calling.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hess Chen <hesheng.chen@intel.com>
Reviewed-by: Yingke Liu <yingke.d.liu@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15847 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-20 07:41:38 +00:00
Yingke Liu 4805b4b5dd Fix an issue of building BaseTools from sources using VS2013.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yingke Liu <yingke.d.liu@intel.com>
Reviewed-by: Hauch, Larry <larry.hauch@intel.com>
Reviewed-by: Gao, Liming <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15844 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-20 02:26:07 +00:00
Hess Chen 01ce353813 This patch is going to fix a build failure (running of GenFds) in Linux system caused by patch at r15816.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hess Chen <hesheng.chen@intel.com>
Reviewed-by: Gao, Liming <liming.gao@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15831 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-19 08:22:04 +00:00
Jordan Justen abb158ded4 BaseTools: Add rules to build NASM source file into a binary
v2:
 * Use EDK II tool name of NASMB rather than NASMBIN
 * Use EDK II extension of .nasmb rather than .nasmbin
v3:
 * Create listing file
 * Don't change into source directory
 * Add ENV(NASM_PREFIX) before nasm for NASM_PATH

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15820 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-18 23:03:17 +00:00
Hess Chen 03af275332 This patch is going to retire the top level makefile on BaseTools for supporting a pure binary build without any complier.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hess Chen <hesheng.chen@intel.com>
Reviewed-by: Yingke Liu <yingke.d.liu@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15816 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-18 04:59:01 +00:00
Hess Chen 1be2ed90a2 There is a limitation on WINDOWS OS for the length of entire file path can’t be larger than 255. There is an OS API provided by Microsoft to add “\\?\” before the path header to support the long file path. Enable this feature on basetools.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hess Chen <hesheng.chen@intel.com>
Reviewed-by: Yingke Liu <yingke.d.liu@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15809 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-15 03:06:48 +00:00
Michael Kinney c9df168fa0 Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Kinney  <michael.d.kinney@intel.com>
Reviewed-by: lhauch <larry.hauch@intel.com>

Fix the behavior of the –version flag in the Rsa2048Sha256 tools and update logic for showing program name, version, usage, and copyright information to match other BaseTools.




git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15805 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-14 20:08:17 +00:00
Michael Kinney 65ce860e49 Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Kinney  <michael.d.kinney@intel.com>
Reviewed-by: Yingke Liu <yingke.d.liu@intel.com>

Add support for RSA 2048 SHA 256 signing and verification encoded in a PI FFS GUIDED Encapsulation Section.  The primary use case of this feature is in support of signing and verification of encapsulated FVs for Recovery and Capsule Update, but can potentially be used for signing and verification of any content that can be stored in a PI conformant FFS file.  Signing operations are performed from python scripts that wrap OpenSsl command line utilities.  Verification operations are performed using the OpenSsl libraries in the CryptoPkg.

The guided encapsulation sections uses the UEFI 2.4 Specification defined GUID called EFI_CERT_TYPE_RSA2048_SHA256_GUID.  The data layout for the encapsulation section starts with the UEFI 2.4 Specification defined structure called EFI_CERT_BLOCK_RSA_2048_SHA256 followed immediately by the data.  The signing tool included in these patches performs encode/decode operations using this data layout.  HashType is set to the UEFI 2.4 Specification defined GUID called EFI_HASH_ALGORITHM_SHA256_GUID.

MdePkg/Include/Guid/WinCertificate.h
================================= 
//
// WIN_CERTIFICATE_UEFI_GUID.CertType
// 
#define EFI_CERT_TYPE_RSA2048_SHA256_GUID \
  {0xa7717414, 0xc616, 0x4977, {0x94, 0x20, 0x84, 0x47, 0x12, 0xa7, 0x35, 0xbf } }

///
/// WIN_CERTIFICATE_UEFI_GUID.CertData
/// 
typedef struct {
  EFI_GUID  HashType;
  UINT8     PublicKey[256];
  UINT8     Signature[256];
} EFI_CERT_BLOCK_RSA_2048_SHA256;

MdePkg/Include/Protocol/Hash.h
================================= 
#define EFI_HASH_ALGORITHM_SHA256_GUID \
  { \
    0x51aa59de, 0xfdf2, 0x4ea3, {0xbc, 0x63, 0x87, 0x5f, 0xb7, 0x84, 0x2e, 0xe9 } \
  }

The verification operations require the use of public key(s).  A new PCD called gEfiSecurityPkgTokenSpaceGuid.PcdRsa2048Sha256PublicKeyBuffer is added to the SecurityPkg that supports one or more SHA 256 hashes of the public keys.  A SHA 256 hash is performed to minimize the FLASH overhead of storing the public keys.  When a verification operation is performed, a SHA 256 hash is performed on EFI_CERT_BLOCK_RSA_2048_SHA256.PublicKey and a check is made to see if that hash matches any of the hashes in the new PCD.  It is recommended that this PCD always be configured in the DSC file as storage type of [PcdsDynamixExVpd], so the public keys are stored in a protected read-only region.

While working on this feature, I noticed that the CRC32 signing and verification feature was incomplete.  It only supported CRC32 based verification in the DXE Phase, so the attached patches also provide support for CRC32 based verification in the PEI Phase.

I also noticed that the most common method for incorporating guided section extraction libraries was to directly link them to the DXE Core, which is not very flexible.  The attached patches also add a generic section extraction PEIM and a generic section extraction DXE driver that can each be linked against one or more section extraction libraries.  This provides a platform developer with the option of providing section extraction services with the DXE Core or providing section extraction services with these generic PEIM/DXE Drivers.

Patch Summary
==============
1)	BaseTools - Rsa2049Sha256Sign python script that can perform test signing or custom signing of PI FFS file GUIDed sections
  a.	Wrapper for a set of OpenSsl command line utility operations
  b.	OpenSsl command line tool must be installed in location that is in standard OS path or in path specified by OS environment variable called OPENSSL_PATH
  c.	Provides standard EDK II command line arguments for a tool that encodes/decodes guided encapsulation section 

Rsa2048Sha256Sign - Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.
usage: Rsa2048Sha256Sign -e|-d [options] <input_file>

positional arguments:
  input_file            specify the input filename

optional arguments:
  -e                    encode file
  -d                    decode file
  -o filename, --output filename
                        specify the output filename
  --private-key PRIVATEKEYFILE
                        specify the private key filename. If not specified, a
                        test signing key is used.
  -v, --verbose         increase output messages
  -q, --quiet           reduce output messages
  --debug [0-9]         set debug level
  --version             display the program version and exit
  -h, --help            display this help text

2)	BaseTools - Rsa2049Sha256GenerateKeys python script that can generate new private/public key and PCD value that is SHA 256 hash of public key using OpenSsl command line utilities.
  a.	Wrapper for a set of OpenSsl command line utility operations
  b.	OpenSsl command line tool must be installed in location that is in standard path or in path specified by OS environment variable called OPENSSL_PATH

Rsa2048Sha256GenerateKeys - Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.
usage: Rsa2048Sha256GenerateKeys [options]

optional arguments:
  -o [filename [filename ...]], --output [filename [filename ...]]
                        specify the output private key filename in PEM format
  -i [filename [filename ...]], --input [filename [filename ...]]
                        specify the input private key filename in PEM format
  --public-key-hash PUBLICKEYHASHFILE
                        specify the public key hash filename that is SHA 256
                        hash of 2048 bit RSA public key in binary format
  --public-key-hash-c PUBLICKEYHASHCFILE
                        specify the public key hash filename that is SHA 256
                        hash of 2048 bit RSA public key in C structure format
  -v, --verbose         increase output messages
  -q, --quiet           reduce output messages
  --debug [0-9]         set debug level
  --version             display the program version and exit
  -h, --help            display this help text

3)	BaseTools\Conf\tools_def.template
  a.	Define GUID/Tool to perform RSA 2048 SHA 256 test signing and instructions on how to use alternate private/public key
b.	GUID is EFI_CERT_TYPE_RSA2048_SHA256_GUID
  c.	Tool is Rsa2049Sha256Sign
4)	MdeModulePkg\Library\PeiCrc32GuidedSectionExtractionLib
  a.	Add peer for DxeCrc32GuidedSectionExtractionLib so both PEI and DXE phases can perform basic integrity checks of PEI and DXE components
5)	MdeModulePkg\Universal\SectionExtractionPei
  a.	Generic PEIM that can link against one or more NULL section extraction library instances to provided one or more GUIDED Section Extraction PPIs
6)	MdeModulePkg\Universal\SectionExtractionDxe
  a.	Generic DXE Driver that can link against one or more NULL section extraction library instances to provide one or more GUIDED Section Extraction Protocols.
7)	SecurityPkg\Library\PeiRsa2048Sha256GuidedSectionExtractLib
  a.	NULL library instances that performs PEI phase RSA 2048 SHA 256 signature verification using OpenSsl libraries from CryptoPkg.
  b.	Based on algorithms from SecurityPkg Authenticated Variable services
  c.	Uses public key from gEfiSecurityPkgTokenSpaceGuid.PcdRsa2048Sha256PublicKeyBuffer.
8)	SecurityPkg\Library\DxeRsa2048Sha256GuidedSectionExtractLib
  a.	NULL library instances that performs DXE phase RSA 2048 SHA 256 signature verification using OpenSsl libraries from CryptoPkg.
  b.	Based on algorithms from SecurityPkg Authenticated Variable services
  c.	Uses public key from gEfiSecurityPkgTokenSpaceGuid.PcdRsa2048Sha256PublicKeyBuffer.




git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15800 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-14 06:30:10 +00:00
Harry Liebel 87280982b8 BaseTools: Add AArch64 ADR_PREL_LO21 and R_AARCH64_CONDBR19
relocations

- ADR_PREL_LO21: support for loading a PC relative label offset.
- R_AARCH64_CONDBR19: support for conditional branch instruction (ELF64 code: 280).

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Harry Liebel <Harry.Liebel@arm.com>
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Yingke Liu <yingke.d.liu@intel.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15745 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-04 08:44:11 +00:00
lhauch d8162fb5aa CodeModule: BaseTools - tools_def.txt VS2010, VS2010x86, VS2012 and VS2012x86 update locations for rc.exe tool
This change will point to the correct location of the rc.exe tool.
RC.exe is used for building UEFI compliant drivers that must have a UEFI_HII_RESOURCE_SECTION generated as part of the .efi image file.

Contributed-under: TianoCore Contribution Agreement 1.0

Signed-off-by: lhauch <larry.hauch@intel.com>
Reviewed-by: Gao, Liming <liming.gao@intel.com>
Reviewed-by: Yingke Liu <yingke.d.liu@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15735 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-01 18:11:32 +00:00
Eric Dong cebd6ef904 Support --version command line for VfrCompile
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15733 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-01 04:44:16 +00:00
Eric Dong 3a8e175b33 Update vfr format for orderedlist opcode to consistent with other opcode, also compatible with old format.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15723 6f19259b-4bc3-4df7-8a09-765794883524
2014-07-31 08:24:13 +00:00
Wang, Yu 537bc12400 Add VS2013 tool chain in BaseTools\Conf\tools_def.template. Also, two issues came up related to vs2013 build and caused the build to fail.
Vs2013 issue #1:  warning message about uninitialized variables or pointers like this:
s:\incbld\ia32\intelframeworkmodulepkg\bus\isa\isabusdxe\isabus.c(395) : warning C4701: potentially uninitialized local variable 'DevicePathData' used
s:\incbld\ia32\intelframeworkmodulepkg\bus\isa\isabusdxe\isabus.c(395) : warning C4703: potentially uninitialized local pointer variable 'DevicePathData' used
LINK : fatal error LNK1257: code generation failed
The following online messages shows discussions related to this vs2013 issue and how Microsoft engineer responded.  They suggest a work around by adding the initialization for the variables.
https://connect.microsoft.com/VisualStudio/feedback/details/816730/bogus-warning-from-vs-2013

Vs2013 issue #2:
C:\Program Files\Windows Kits\8.1\include\um\winnt.h(5105) : error C2220: warning treated as error - no 'object' file generated
C:\Program Files\Windows Kits\8.1\include\um\winnt.h(5105) : warning C4005: 'InterlockedCompareExchange64' : macro redefinition
This happened for Nt32Pkg.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Wang, Yu <yu.wang@intel.com>
Reviewed-by: Gao, Liming <liming.gao@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15722 6f19259b-4bc3-4df7-8a09-765794883524
2014-07-31 06:14:01 +00:00
Paolo Bonzini 1c023eb357 BuildEnv: remove useless check before setting $WORKSPACE
As long as $EDK_TOOLS_PATH is properly set, the BaseTools/ directory
is not necessary in the workspace.  The BuildEnv file itself suggests
setting the variable if BaseTools/ is not available.

However, this only works if the user also sets $WORKSPACE.  Otherwise,
BuildEnv refuses to set WORKSPACE itself and does not even try to use
the preset $EDK_TOOLS_PATH.  Remove the check that fails, as it does
not have any practical benefit.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15702 6f19259b-4bc3-4df7-8a09-765794883524
2014-07-28 17:37:46 +00:00
Jordan Justen dafe0fedc5 BaseTools: Add GCC49 toolchain; align data sections to 0x40
GCC 4.9 may use 64-byte (0x40) alignment for data sections.

Therefore we use a different link script for GCC 4.9. The only
difference from the gcc4.4-ld-script is the alignment for data
sections.

When using the GCC48 toolchain with GCC 4.9, this error would be
encountered by GenFw:
> GenFw: ERROR 3000: Invalid
>   Unsupported section alignment.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Yingke Liu <yingke.d.liu@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15697 6f19259b-4bc3-4df7-8a09-765794883524
2014-07-28 17:37:10 +00:00
Jordan Justen 324c886410 BaseTools: Clear build versions to sync with buildtools/BaseTools
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15686 6f19259b-4bc3-4df7-8a09-765794883524
2014-07-25 21:10:33 +00:00
Gao, Liming liming.gao 8b7ebdb005 Update GenFv tool to handle the file path with space.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gao, Liming liming.gao@intel.com
Review-by: Kinney, Michael D michael.d.kinney@intel.com

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15685 6f19259b-4bc3-4df7-8a09-765794883524
2014-07-25 21:10:20 +00:00
Eric Dong 0515478167 Report warning info if vfr file use the flags used for framework code only.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15684 6f19259b-4bc3-4df7-8a09-765794883524
2014-07-25 21:10:10 +00:00
Eric Dong 15be099aa7 Clean 1 build error and 1 warning for VfrCompiler.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15683 6f19259b-4bc3-4df7-8a09-765794883524
2014-07-25 21:09:59 +00:00
Eric Dong 1d218f83f1 Report warning info if an action opcode has text two statement.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15682 6f19259b-4bc3-4df7-8a09-765794883524
2014-07-25 21:09:48 +00:00
lhauch 54032ed969 CodeModule: BaseTools - Adding the svn:external to the https://svn.code.sf.net/p/edk2-toolbinaries/code/trunk/Win32
This change allows users to checkout the edk2 project ignoring the svn:externals.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: lhauch <larry.hauch@intel.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15679 6f19259b-4bc3-4df7-8a09-765794883524
2014-07-25 14:07:00 +00:00
lhauch d2f4e548e3 CodeModule: BaseTools - Removing Win32 binaries to be replaced with an svn:external to the https://svn.code.sf.net/p/edk2-toolbinaries/code/trunk/Win32
This change allows users to checkout the edk2 project ignoring the svn:externals.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: lhauch <larry.hauch@intel.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15678 6f19259b-4bc3-4df7-8a09-765794883524
2014-07-25 14:04:48 +00:00
Gao, Liming e4ac870fe9 Sync BaseTool trunk (version r2670) into EDKII BaseTools.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gao, Liming <liming.gao@intel.com>
Reviewed-by: Liu, Yingke D (yingke.d.liu@intel.com)


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15605 6f19259b-4bc3-4df7-8a09-765794883524
2014-07-01 07:10:10 +00:00
Tian, Hot 5c1e62f35a Fix CRLF format
Signed-off-by: Tian, Hot <hot.tian@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15189 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-27 05:36:53 +00:00
Gao, Liming f51461c829 Sync BaseTool trunk (version r2649) into EDKII BaseTools.
Signed-off-by: Gao, Liming <liming.gao@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15188 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-27 05:23:15 +00:00
Gao, Liming 2bc3256ca6 Sync BaseTool trunk (version r2640) into EDKII BaseTools.
Signed-off-by: Gao, Liming <liming.gao@intel.com>
Reviewed-by: Liu, Jiang A <jiang.a.liu@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15089 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-10 05:25:50 +00:00
Liming Gao e8a47801a1 Sync BaseTool trunk (version r2610) into EDKII BaseTools.
Signed-off-by: Liming Gao <liming.gao@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14856 6f19259b-4bc3-4df7-8a09-765794883524
2013-11-18 07:41:21 +00:00
Liming Gao ea0f646433 Sync BaseTool trunk (version r2601) into EDKII BaseTools.
Signed-off-by: Liming Gao <liming.gao@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14710 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-24 07:13:44 +00:00
lhauch ac7f472be7 Forcing the python27.dll to be executable
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14663 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-12 17:59:05 +00:00
Liming Gao 4afd3d0422 Sync BaseTool trunk (version r2599) into EDKII BaseTools.
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Heshen Chen <chen.heshen@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14591 6f19259b-4bc3-4df7-8a09-765794883524
2013-08-23 02:18:16 +00:00
ydong10 1c8ade8999 Roll back the changes for BaseTools
Signed-off-by: Eric Dong <eric.dong@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13467 6f19259b-4bc3-4df7-8a09-765794883524
2012-06-25 02:24:12 +00:00
ydong10 0e4cdd85b8 Fix a typo.
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: liming Gao <liming.gao@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13464 6f19259b-4bc3-4df7-8a09-765794883524
2012-06-21 05:52:04 +00:00
lgao4 25918452ed Sync BaseTools Trunk (version r2524) to EDKII main trunk.
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Liu Yingke <yingke.d.liu@intel.com>
Reviewed-by: Yurui Zeng <yurui.zeng@intel.com>


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13353 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-23 08:27:14 +00:00
lgao4 5ef6e0d315 Sync BaseTools Trunk (version r2518) to EDKII main trunk.
Signed-off-by: Liming Gao <liming.gao@intel.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13180 6f19259b-4bc3-4df7-8a09-765794883524
2012-04-10 07:28:51 +00:00
lgao4 ea971ce69b Sync BaseTools Trunk (version r2518) to EDKII main trunk.
Signed-off-by: Liming Gao <liming.gao@intel.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13179 6f19259b-4bc3-4df7-8a09-765794883524
2012-04-10 07:22:37 +00:00
lgao4 64b2609fcf Sync BaseTools Trunk (version r2518) to EDKII main trunk.
Signed-off-by: Liming Gao <liming.gao@intel.com>


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13178 6f19259b-4bc3-4df7-8a09-765794883524
2012-04-10 07:18:20 +00:00
lgao4 66a2dc96d3 Set executable attributes for those run scripts.
Signed-off-by: lgao4

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13016 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-15 08:06:01 +00:00
lgao4 9508d0fa4f Sync BaseTool trunk (version r2474) into EDKII BaseTools.
Signed-off-by: lgao4
Reviewed-by: gikidy



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12883 6f19259b-4bc3-4df7-8a09-765794883524
2011-12-16 08:52:13 +00:00
lgao4 d0acc87a41 Sync BaseTool trunk (version r2460) into EDKII BaseTools. The change mainly includes:
1. Support use expression as DSC file PCD value.
  2. Update FDF parser to fix bug to get complete macro value.
  3. Fix bug to replace SET statement macro and evaluate SET statement PCD value in FDF file.
  4. Fix a bug for MACRO defined in conditional block cannot be processed correctly

Signed-off-by: lgao4
Reviewed-by: gikidy


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12827 6f19259b-4bc3-4df7-8a09-765794883524
2011-12-07 06:19:28 +00:00
lgao4 2bcc713e74 Sync BaseTool trunk (version r2423) into EDKII BaseTools. The change mainly includes:
1. Fix !include issues
  2. Fix Trim to skip the postfix 'U' for hexadecimal and decimal numbers
  3. Fix building error C2733 when building C++ code.
  4. Add GCC46 tool chain definition
  5. Add new RVCT and RVCTLINUX tool chains

Signed-off-by: lgao4


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12782 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-25 06:21:03 +00:00
lgao4 d40b2ee60e Sync BaseTool trunk (version r2397) into EDKII BaseTools. The change mainly includes
1. Fix the issue that root directory of disk can’t be used as WORKSPACE.
2. Update AutoGen code style to pass C++ compiler.

Signed-off-by: lgao4
Reviewed-by: jsu1

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12676 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-09 04:32:08 +00:00
lgao4 0d2711a693 Sync BaseTools Trunk (version r2387) to EDKII main trunk.
Signed-off-by: lgao4
Reviewed-by: gikidy

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12602 6f19259b-4bc3-4df7-8a09-765794883524
2011-10-29 06:59:30 +00:00
lgao4 79b74a03e0 Sync BaseTools Branch (version r2362) to EDKII main trunk.
Signed-off-by: lgao4
Reviewed-by: jsu1
Reviewed-by: ydliu

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12525 6f19259b-4bc3-4df7-8a09-765794883524
2011-10-11 02:49:48 +00:00
lgao4 29e22e2bd6 Sync BaseTools Branch (version r2324) to EDKII main trunk.
Signed-off-by: lgao4

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12435 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-23 06:03:45 +00:00
lgao4 df692f024b Sync BaseTools Branch (version r2323) to EDKII main trunk.
Signed-off-by: lgao4


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12379 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-19 09:03:59 +00:00
lgao4 b36d134faf Sync BaseTools Branch (version r2321) to EDKII main trunk.
Signed-off-by: lgao4
Reviewed-by: gikidy


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12372 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-18 12:17:25 +00:00
lgao4 a30e92d73f Sync BaseTools Branch (version r2271) to EDKII main trunk.
BaseTool Branch:
  https://edk2-buildtools.svn.sourceforge.net/svnroot/edk2-buildtools/branches/Releases/BaseTools_r2100

Signed-off-by: lgao4
Reviewed-by: hchen30

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12215 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-26 07:49:27 +00:00
lgao4 4234283c3a Sync BaseTools Branch (version r2271) to EDKII main trunk.
BaseTool Branch:
  https://edk2-buildtools.svn.sourceforge.net/svnroot/edk2-buildtools/branches/Releases/BaseTools_r2100

Signed-off-by: lgao4
Reviewed-by: hchen30

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12214 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-26 07:46:26 +00:00
gikidy 1c978f48e4 Revert last commit about "Clean up MdeModuleHii.h to remove HII_VENDOR_DEVICE_PATH and remove DevicePath.h file."
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12175 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-19 03:13:58 +00:00
gikidy d4b3293bb3 Clean up MdeModuleHii.h to remove HII_VENDOR_DEVICE_PATH and remove DevicePath.h file.
Signed-off-by: gikidy
Reviewed-by: lgao4


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12174 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-19 02:54:24 +00:00
ydong10 82e589a43f Revert last patch about "Modal form" opcode support.
Signed-off-by: ydong10
Reviewed-by: lgao4



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11768 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-08 08:24:52 +00:00
ydong10 5b127d7565 Add new “Modal form” opcode.
Signed-off-by: ydong10
Reviewed-by: lgao4


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11766 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-08 07:50:04 +00:00
lgao4 7c1fd3239d Sync BaseTools Branch (version r2161) to EDKII main trunk.
BaseTool Branch:
  https://edk2-buildtools.svn.sourceforge.net/svnroot/edk2-buildtools/branches/Releases/BaseTools_r2100

Signed-off-by: lgao4
Reviewed-by: gikidy

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11708 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-26 07:35:18 +00:00
lgao4 9fd2164e34 Sync BaseTools Branch (version r2157) to EDKII main trunk.
BaseTool Branch:
  https://edk2-buildtools.svn.sourceforge.net/svnroot/edk2-buildtools/branches/Releases/BaseTools_r2100

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11702 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-25 10:45:15 +00:00
lgao4 da92f27632 Sync BaseTools Branch (version r2149) to EDKII main trunk.
BaseTool Branch:
  https://edk2-buildtools.svn.sourceforge.net/svnroot/edk2-buildtools/branches/Releases/BaseTools_r2100

  



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11640 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-11 10:26:49 +00:00
hhtian 5788e95470 update copyright format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11314 6f19259b-4bc3-4df7-8a09-765794883524
2011-02-15 12:13:00 +00:00
lgao4 641370270f Sync EDKII BaseTools to BaseTools project r2100.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11118 6f19259b-4bc3-4df7-8a09-765794883524
2010-12-06 05:17:09 +00:00
lgao4 6780eef1f9 Sync EDKII BaseTools to BaseTools project r2093.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11057 6f19259b-4bc3-4df7-8a09-765794883524
2010-11-15 02:51:34 +00:00
lgao4 a725268048 Sync EDKII BaseTools to BaseTools project r2068.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10937 6f19259b-4bc3-4df7-8a09-765794883524
2010-10-14 06:30:37 +00:00
lgao4 08dd311f5d Sync EDKII BaseTools to BaseTools project r2065.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10915 6f19259b-4bc3-4df7-8a09-765794883524
2010-10-11 06:26:52 +00:00
qhuang8 111be80fe4 Add missing BPDG tool sources when sync to BaseTools r2042
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10851 6f19259b-4bc3-4df7-8a09-765794883524
2010-09-06 02:01:57 +00:00
qhuang8 e56468c072 Sync EDKII BaseTools to BaseTools project r2042.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10850 6f19259b-4bc3-4df7-8a09-765794883524
2010-09-06 01:58:00 +00:00
andrewfish 95ac6ef640 If you install 64-bit kernel build will fail. This requires manually setting properties, but it is legal...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10796 6f19259b-4bc3-4df7-8a09-765794883524
2010-08-13 19:49:30 +00:00
lgao4 756ad8f8e9 Sync EDKII BaseTools to BaseTools project r2006.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10764 6f19259b-4bc3-4df7-8a09-765794883524
2010-08-03 03:29:17 +00:00
qhuang8 6310ffd781 Sync EDKII BaseTools to BaseTools project r2000
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10706 6f19259b-4bc3-4df7-8a09-765794883524
2010-07-28 03:07:30 +00:00
qhuang8 14c48571ae Sync EDKII BaseTools to BaseTools project r1997
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10680 6f19259b-4bc3-4df7-8a09-765794883524
2010-07-21 02:46:15 +00:00
qhuang8 b3ef23861d Add msvcr71.dll used by base tools win32 binaries in case the environment does not have this DLL file.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10671 6f19259b-4bc3-4df7-8a09-765794883524
2010-07-20 06:08:47 +00:00
qhuang8 9053bc517e Sync EDKII BaseTools to BaseTools project r1988
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10607 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-28 09:33:10 +00:00
lgao4 40d841f6a8 Sync EDKII BaseTools to BaseTools project r1971
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10502 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-18 05:04:32 +00:00
lhauch 47c242a6d7 Setting svn:executable property on applications that do not have it set at this time
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10482 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-11 23:15:27 +00:00
hhtian f48d998667 Not maintained.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10309 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-25 14:40:18 +00:00
qhuang8 79714906ae Sync EDKII BaseTools to BaseTools project r1940
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10307 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-23 11:46:50 +00:00
lgao4 f3decdc362 Sync EDKII BaseTools to BaseTools project r1937.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10287 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-19 06:55:07 +00:00
lgao4 636f2be673 Sync EDKII BaseTools to BaseTools project r1928
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10234 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-12 10:54:01 +00:00
qhuang8 c69f724df0 Sync EDKII BaseTools to BaseTools project r1913.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10193 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-04 11:57:31 +00:00
lgao4 d5d56f1bc5 Sync EDKII BaseTools to BaseTools project r1911.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10177 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-04 05:29:52 +00:00
lgao4 a111b843ea Add the new added tool link.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10129 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-01 02:09:06 +00:00
lgao4 52302d4dee Sync EDKII BaseTools to BaseTools project r1903.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10123 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-28 23:39:39 +00:00
jlin16 f430c77b1b Roll back to ECC previous stable version.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9947 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-08 05:37:56 +00:00
jlin16 96e6b8e67b Update ECC predicate expression checks for brace-quoted and boolean pointer variables.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9946 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-08 05:22:26 +00:00
andrewfish cfbd0c5f1a Default to Cortex ARM CPU type to match UEFI specification. Drive thumb from ARCHCC flags.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9883 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-30 21:31:33 +00:00
andrewfish 5e9edaea7c Turn on Thumb/Thumb2 and optimize for size.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9863 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-29 20:22:14 +00:00
andrewfish bf586ab919 Fix Xcode bug in template
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9831 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-27 02:50:13 +00:00
lgao4 a709adfaf0 Sync tool code to BuildTools project r1783.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9623 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-29 06:16:53 +00:00
lgao4 b303ea726e Sync tool code to BuildTools project r1739.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9397 6f19259b-4bc3-4df7-8a09-765794883524
2009-11-09 11:47:35 +00:00
vanjeff ef12a160de updated basetools binary files which are validated synced with r1707.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9258 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-11 06:49:52 +00:00
vanjeff fd171542e0 Sync basetools' source and binary files with r1707 of the basetools project.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9257 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-11 03:14:43 +00:00
qhuang8 8e2978b4ad Add /GF compiler option for IPF ICC tool chains by default.
This option enables read-only string pools to reduce the final PE/COFF image size.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9220 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-01 15:03:44 +00:00
AJFISH c719e02c14 Adding a python script to enable RVCT 3.1 (ARM ARM compiler) to run in cygwin. The build system passes cygpaths and the Windows tool can not deal with that. The python converts paths to C:\ to make RVCT 3.1 happy. This has been fixed in RVCT 4.0. The ARM processor does not support instructions like divide, so compiler specific intrinsics are required. The .libs are checked in here and referenced from the tools_def.template file, so they are automatically included when the compiler is invoked. The souce to these .lib files will be checkin soon in a new ArmPkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9201 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-26 21:08:05 +00:00
jljusten e0d22735b7 Change the default location for IASL on Unix.
The default is now /usr/bin/iasl, but $(HOME)/programs/iasl is
also shown as a commented example.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9077 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-15 05:05:02 +00:00
jljusten 726d5a8edc Remove '/' directory separator from CYGWIN & UNIXGCC tool specications.
This allows for the UNIXGCC_*_PETOOLS_PREFIX and CYGWIN_* macros
to potentially have a prefix before the executable name.  This allows
more flexibility for gcc/binutils when the executables include
a prefix.  Some commented examples are shown where this might be used.
For example:
  DEFINE UNIXGCC_IA32_PETOOLS_PREFIX = i386-pc-mingw32-
    or
  DEFINE UNIXGCC_IA32_PETOOLS_PREFIX = ENV(HOME)/programs/gcc/ia32/bin/i686-pc-mingw32-

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9076 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-15 05:05:00 +00:00
vanjeff 030529de20 build tools will break if PEIM or DXE driver has no valid [Depex] section.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9057 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-12 06:53:41 +00:00
jljusten 772d3214e9 Update links for broken urls in BaseTools/gcc/mingw-gcc-build.py script.
The new version of mingw-w64-snapshot-20090419.tar.bz2
requires a modification to
  IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/UefiLzma.h
in order to build successfully with the new mingw header files.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9027 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-05 21:11:56 +00:00
klu2 58e4d80096 Hot fixing for the bug that GenFw can not convert ELF to PE format correctly, the root cause is invalid size of OptionalHeader is computed.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8976 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-21 16:56:35 +00:00
jljusten 2703f9e230 Restore symlinks & scripts with proper svn properties set.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8972 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-18 00:01:55 +00:00
jljusten e7eabe08c7 Remove broken BinWrappers links/scripts.
They will be re-added in next commit.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8971 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-18 00:01:48 +00:00
lgao4 66775d1cb6 Sync binary tool to main trunk tool source. Update VfrCompiler tool to fix varstore name is not correctly generated.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8969 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-17 11:31:09 +00:00
lgao4 df1780f8bf Fix VfrCompiler bug to create varstore name by varstore name field not structure field for framework Vfr.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8968 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-17 11:11:56 +00:00
lgao4 30fdf1140b Check In tool source code based on Build tool project revision r1655.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8964 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-17 09:10:31 +00:00
lgao4 1252ae4c42 Synchronize build tools binaries with source code r1655 at build tool project.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8919 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-13 05:24:21 +00:00
lgao4 7bc6c82b85 ynchronize build tools binaries with source code r1655 at build tool project.
Fix a bug that GenFv tool can't generate the correct top reset vector table for IA32, X64 and IPF arch SEC module.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8918 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-13 05:23:00 +00:00
klu2 66e1951f49 Synchronize build tools binaries with source code r1654 at build tool project.
The modifications includes:
1) Correct the issue that build tool generate UINT8 array for unicode string type PCD, it maybe cause alignment issue. Now build tool will generate UINT16 array for unicode string type PCD.
2) Merge FdfParser.py updates to FdfParserLite.py
3) Replace EFI_IMAGE_NT_HEADERS with EFI_IMAGE_OPTIONAL_HEADER_UNION. (GenFv)
The code referencing EFI_IMAGE_NT_HEADERS has been modified to
refer to EFI_IMAGE_OPTIONAL_HEADER_UNION => Pe32/Pe32Plus.
4) Remove definitions of build machine specific types.
Remove EFI_IMAGE_OPTIONAL_HEADER, EFI_IMAGE_NT_HEADERS,
EFI_IMAGE_NT_OPTIONAL_HDR_MAGIC, and EFI_IMAGE_MACHINE_TYPE_SUPPORTED,
since these were defined differently based on the architecture
of the build machine.  The BaseTools should support the edk2
supported processor architectures and not depend on the architecture
of the build platform.
5) Added support for the ARM processor type
Added RVCT as a ToolChainFamily (Real View Compiler Tools from ARM)
Enabled FixedAtBuild 32-bit PCDs to be used from GCC or RVCT assembler.
Updated GenFw to support RVCT ELF images and removed #ifdefs for ELF. Also made ELF to PE/COFF features available on all supported build targets for the tools by adding some FreeBSD ELF headers.
Updated GenFv to support the ARM reset vector in ZeroBytes of the FV header.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8872 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-10 09:38:06 +00:00
lgao4 c437405563 Synchronize the build tools' binary with source files at r1645 in build tool project.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8828 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-09 05:47:15 +00:00
xli24 ee33873da1 Synchronize the build tools' binary with source files at r1640 in build tool project.
This update adds error check for environment path existence.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8823 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-08 15:47:25 +00:00
xli24 ee0b896904 Synchronize the build tools' binary with source files at r1639 in build tool project.
This update fixes the bug of unmatched paths due to case-sensitive comparison on case-insensitive systems.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8814 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-08 08:49:33 +00:00
klu2 61374f5d4f Synchronize the build tools' binary with source files at r1637 in build tool project.
The modifications are:
1. Support BuildRuleFamily attribute of tool chain tag to be filtered build rule.
2. Enhance GenFds tool to get the default PcdValue from DEC file.
3. Enhance AutoGen to generate library function constructors for SEC type module.  

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8764 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-06 15:13:54 +00:00
klu2 c9c705a855 add quote for file path in @file option
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8762 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-06 15:03:25 +00:00
klu2 e8c42f8a7d Synchronize the binary with modification at build tool project r1634. The modification is adjusting the regular expression to handle more "#include" case when build tool calculate the dependency for source file. This modification has been tested under UNIX and MSFT tool chain.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8699 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-01 06:44:37 +00:00
klu2 03476bf384 Synchronize the binary with build tools' source at r1630 which fix the issue that the dependency of some header files is missed in Gnu makefile
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8623 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-23 05:42:02 +00:00
klu2 23d0599aae Synchronize all binaries with build tools source base on r1628.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8617 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-21 13:33:37 +00:00
klu2 e189fded67 Synchronize binary with modification of r1618 in buildtools project. The modification is made for WorkspaceDatabase.py and affect the frozen binary of build.exe, GenFds.exe and TargetTools.exe
The modification is add additional checking for whether need renew the immediate file workspace database, the renew reason maybe:
The renew reason maybe:
1) If user force to renew;
2) If user do not force renew, and
   a) If the time of last modified python source is newer than database file;
   b) If the time of last modified frozen executable file is newer than database file, the executable file is build.exe in window and build in Linux/Unix/OSX

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8615 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-19 15:55:44 +00:00
lgao4 38d4998ad4 Add ASL_OUTFLAG to contain the different ASL output options.
ASL_FLAG to contain other ASL options.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8584 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-17 09:34:46 +00:00
klu2 fba25bdd54 Clarify build tools project's combo path
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8535 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-12 01:44:42 +00:00
klu2 273f5ad101 Add missing python binary freezed from build tools project at r1623
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8534 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-12 01:41:25 +00:00
klu2 94ca8fffcb Synchronize the source of build tool from build tool project (r1623) to binary in edk2 project at (r8530)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8531 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-11 09:45:52 +00:00
klu2 d616bf7593 Fix a typo in help message.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8475 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-05 05:27:16 +00:00
klu2 33cf9937a9 Fix issue that build is broken if a dynamic PCD's value is L"".
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8460 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-04 03:37:24 +00:00
lgao4 86fe4ef3f8 Update GenFw tool to zero time/date by default.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8450 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-03 03:22:08 +00:00
lgao4 ac4e7050a3 Fix bug to fill Startup AP Vector address in FvImage
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8443 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-02 08:49:35 +00:00
klu2 740cce9ec0 The MULTIPLE_THREAD should be choice from "Disable", "Enable" but not "TRUE", "FALSE"
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8442 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-02 07:12:54 +00:00
klu2 ecb11926ec The MULTIPLE_THREAD should be choice from "Disable", "Enable" but not "TRUE", "FALSE"
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8441 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-02 07:10:41 +00:00
klu2 c9d0e0815b Add MULTIPLE_THREAD option.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8439 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-02 03:02:10 +00:00
klu2 a7ef0a80e1 1, Add checking for input parameter tool tag which is used to find external tools.
2, Make some minor fixing for TargetTool.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8424 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-01 08:56:04 +00:00
rsun3 94fe1ac9f6 Update build.exe after StrGather was updated. Add -s build flag in EdkShellPkg.dsc so that .UNI files with ISO 639-2 language codes of EDK Shell can be built.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8413 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-31 07:46:19 +00:00
klu2 d09651693b Fix the bug that build tool and PCD driver can not deal with byte array or ANSIC type value for dynamic PCD.
This patch including following change:
1) Build tools:
   a) StringTable in generated PCD database is changed to UINT8 array but not original UINT16, because it can also stored the ANSIC and byte array.
   b) The layout of string table in PCD database is changed. To make sure unicode string is in double byte aligned, the item in string table which hold unicode string value will be put ahead than other items. After unicode string item, the HII variable name item is immediate. The byte array item and ANSIC string array item will be put at tail of whole string table.
   c) Fix bug that build tools does not handle the size of unicode string, byte array and ANSIC string.
2) PCD PEI/DXE driver:
   The pointer of StringTable is changed to UINT8* but not original UINT16*.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8392 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-27 11:34:11 +00:00
lgao4 68b54c0c25 Correct GenPage to get the input option value.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8387 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-26 09:01:42 +00:00
lgao4 8aea08dc20 Correct the parameter parser of GenBootSector.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8385 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-26 07:26:08 +00:00
rsun3 b0a5e682d6 Update build.exe after StrGather python script was changed.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8383 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-26 03:40:56 +00:00
lgao4 527a098160 Remove the tool PcdSyntaxUpdate.exe. This tool is an obsolete tool. It is added to be used to update PCD format according to INF 0.44, DEC 0.41, DSC 0.40. But, now EDKII code base conforms to the newest public 1.1 version INF, DEC and DSC spec.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8382 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-26 03:05:07 +00:00
lgao4 1df9325aee Fix minor bug in tools.
1. Incorrect usage help of TianoCompress tool
2. Wrong check for the input parameters of GenVtf tool.
3. The potential issues to get FFS files in GenFv tool.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8379 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-25 08:24:08 +00:00
lgao4 f6427e83c8 Add the checking to the input parameter of tools.
Support the tool parameter options according to tool user manual.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8378 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-25 05:53:00 +00:00
klu2 ab4e42d903 Build tool need generate different value macro's name for PatchableInModule type PCD against FixedAtBuild PCD.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8368 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-21 08:43:22 +00:00
klu2 14073b3f8c Fix the bug that TAB character in uni file make unicode string missing in autogen file. Corresponding version in build tool project is r1592.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8364 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-21 04:39:36 +00:00
klu2 b20d41df13 temporary roll back build.exe because the some string definition are missed by strgather introduced latest check-in.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8345 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-20 09:44:31 +00:00
klu2 32685030d8 Freeze for build tool check-in r1591: Fix bug in the processing of backslashes in UNI files.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8341 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-20 02:20:07 +00:00
klu2 8968742e88 Originally, there are following implementation:
1) The collect action of platform's dynamic PCD database is trigged by module's autogen action. 
2) If platform is used for more than one architecture, two platform object will be created

Above two rules will cause an issue for single module building that if
1) platform support IA32 and X64
2) do single module for X64 module

then, the dynamic PCD for IA32 modules will missed in PCD database, because no IA32 module need autogen so collection action for IA32 module is not trigged.

Now, I think the collection action for platform dynamic PCD should be explicitly called after PlatformAutoGen is created.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8323 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-18 07:09:48 +00:00
klu2 133ed0bf9d Fix bug for -b option
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8305 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-13 05:29:20 +00:00
klu2 884f6e7652 Add checking for configuration template file.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8304 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-13 02:04:01 +00:00
klu2 66b2a7d529 Add valid range checking for count of multi-thread
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8303 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-12 07:40:59 +00:00
klu2 410ee03367 Add checking for options number to avoid user's confusion. The corresponding patch in source is r1583 in build tools project.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8302 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-12 07:30:04 +00:00
klu2 f6c412fc33 Make improvement that if target directory does not exist, create it. This patch is corresponding to r1582 in build tool project.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8301 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-12 06:40:10 +00:00
klu2 8ab1d991dc Make tool more intelligence for missing configuration item. The corresponding version number is r1581 in build tools project.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8300 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-12 06:10:59 +00:00
lgao4 9920798948 Update GenFw help usage information to clarify -z option.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8298 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-12 04:51:00 +00:00
klu2 2842d31b8f Add more validation for input parameters.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8293 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-11 07:44:55 +00:00
klu2 ca2ce09e51 Add warning message that tool chain tag will be ignored if user provide output directory from command line explicitly.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8290 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-11 07:04:28 +00:00
klu2 5796de6792 Add Fv name checking for build.exe if user gives FV name from command line. originally, this checking is only done by GenFds tool, that is too later.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8288 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-11 05:37:56 +00:00
klu2 6d40c636c2 Fix bug that trim crash when no parameter is input.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8287 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-11 03:18:42 +00:00
klu2 9449c39f5f Remove -c option for GenFds tool because it does not defined in build specification.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8286 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-11 03:01:05 +00:00
klu2 512a785d03 Update TargetTools for add set/get/clean BUILD_RULE_CONF option for target.txt file.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8285 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-11 02:34:33 +00:00
gikidy d4244a08ad Remove -Os for UNIXGCC CC FLAGS to reduce size.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8251 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-06 09:40:50 +00:00
lgao4 de29c94afc Add the optional EfiRom CodeRevision option.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8241 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-05 07:31:56 +00:00
lgao4 1a98add516 Update EfiRom to handle ClassCode and CodeRevision options correctly.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8240 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-05 07:30:35 +00:00
jlin16 de9c25b173 GenFds change efirom command line option from '-I' to '-l'.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8239 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-05 06:26:45 +00:00
jwang36 174566661a Add SMM_DRIVER and SMM_CORE support
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8238 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-05 06:01:17 +00:00
jlin16 3b2b355772 GenFds add option ROM parameters override of those in INF file.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8237 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-05 05:26:26 +00:00
jwang36 15543340da Implemented feature request hsd202262 and incorporated SMM support
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8229 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-03 06:40:59 +00:00
jljusten c470d83142 Add WIN32 binary build of LzmaCompress. Add LzmaCompress to tools_def.template.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8228 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-01 06:45:01 +00:00
qhuang8 33d487d463 Sync bug fix of Base Tools r1559.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8226 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-30 10:45:50 +00:00
gikidy 2a9aee6d37 Fix a typo.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8161 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-23 08:18:24 +00:00
lgao4 15a7c2f1fe Update VfrCompiler to handle ideqvallist as the first opcode case. Per UEFI spec, If the expression consists of more than a single opcode, then the first opcode in the expression must have the Scope bit set and the expression must end with EFI_IFR_END
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8143 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-22 02:29:17 +00:00
lgao4 2fd618df9d Enhance VfrCompiler to create the end label for the framework vfr file.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8134 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-20 08:11:14 +00:00
jwang36 14ca06407d Frozen from source r1551
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8122 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-17 07:22:21 +00:00
lgao4 6924b7ae26 Update VfrCompiler to support UEFI 2.1 form classguid
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8113 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-17 05:27:16 +00:00
klu2 b2f5a3718b Remove unused EFI32 macro.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8102 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-16 06:33:05 +00:00
klu2 7f612040d6 Remove unused EFI32 macro.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8101 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-16 06:32:34 +00:00
eric_tian 623471a383 update
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8078 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-14 03:20:33 +00:00
eric_tian 3b6c90a16b update tools_def.template to supply all possible combination of toolchain and ASL
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8075 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-13 12:50:50 +00:00
lgao4 7a65d44a47 enchance error handling for disableif
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8072 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-13 07:01:18 +00:00
lgao4 299b4cf312 Update GenFw -z option to zero debug data and time stamp.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8039 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-08 09:10:15 +00:00
jwang36 c44fb9d331 Generated from source r1543
a. Fixed PCD database error
b. Fixed inf file extension issue 
c. Fixed an issue in which RealPath() returns None if WORKSPACE root was passed in
d. Check MODULE_TYPE and COMPONENT_TYPE to be defined


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7994 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-31 15:46:16 +00:00
lgao4 2ab2aad18b Fix AcpiTable C file build failure, because the compiler don't know how to set subsystem when entrypoint is not main. Append /SUBSYSTEM:CONSOLE link option.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7987 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-31 02:21:43 +00:00
jljusten a440187f4e Change default setting for UNIXGCC_IASL. The previous
default value used the HOME environment variable, which is
not always defined on windows, and therefore will
cause the build to break for windows based builds.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7986 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-30 17:56:42 +00:00
qhuang8 aaf6344c9e Search framework database file at the $(WORKSPACE)/Conf directory
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7985 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-30 09:30:53 +00:00
klu2 13987f5775 Fix build broken for missing defintiion of UNIXGCC_IASL
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7984 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-30 07:58:20 +00:00
qhuang8 1b9370bc0f Enhance MigrationMsa2Inf to support extract the GUID value from DEC files. It can also extract the GUID value from XML syntax package files, SPD or NSPD.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7983 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-30 07:06:47 +00:00
qhuang8 2391e54c73 Update framework database to point to existing packages files.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7982 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-30 06:38:22 +00:00
jljusten dd1e6e117e Change fake entry point used during ACPI Table building from main
to ReferenceAcpiTable.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7979 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-29 18:42:16 +00:00
jljusten c609489087 Update Conf template files to support ACPI building with UNIXGCC.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7978 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-29 18:42:14 +00:00
jwang36 77696b61eb Add $(MD) command for vfr build rule to avoid build failure for some R8 modules
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7976 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-29 16:16:19 +00:00
jwang36 03e0648b32 Built from source r1536:
a. Show correct and bad file path when file name case is wrong
b. Remove the "_FLAGS" check in meta file parser


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7961 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-26 15:14:27 +00:00
jlin16 5489a5003f GenFds fix PCD byte array format support for PCD specified file GUID; enhance warning message for binary module/file path case-sensitive conditions.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7949 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-25 08:22:33 +00:00
klu2 941199475d add map generation for GCC tool chain
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7934 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-24 13:08:39 +00:00
qhuang8 1e976d75f1 Temporarily rollback the previous check in for more investigations of PCD database data structures difference for PcdPeim and PcdDxe.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7918 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-21 03:59:44 +00:00
klu2 8a83f2c897 use -pie(Position Independent for executable file) instead of "-dll". A EFI image generated by UNIXGCC tool chain should be relocated when loaded.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7911 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-19 14:55:41 +00:00
jwang36 db488c7865 a. Fixed build break caused by EdkLogger.warning
b. Fixed PCD token number generation issue for PCD in library

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7907 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-19 07:30:32 +00:00
jlin16 024a05ac5c GenFds add support for PCD specified file GUID.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7901 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-17 09:48:47 +00:00
jlin16 d26743215a GenFds add option ROM and Defines section support.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7891 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-16 10:20:03 +00:00