efi/basetools/.git
11 years ago1. Add a new option (--hiibinpackage) of GenFw tool to generate the resource section...
lgao4 [Wed, 25 Nov 2009 01:23:56 +0000 (01:23 +0000)]
1. Add a new option (--hiibinpackage) of GenFw tool to generate the resource section based on the input HII data.
2. Fix an error in AutoGen that processes all binary by default build rule. It should only process the binary files specified in INF by default rule.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1754 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoFix incremental build issue for FV Extended Headers. If only the contents of the...
mdkinney [Sun, 22 Nov 2009 20:42:30 +0000 (20:42 +0000)]
Fix incremental build issue for FV Extended Headers.  If only the contents of the FV Extended Header has been modified, then the change would not be reflected in the final FV/FD image.

This fix updates GenFds to update the time/date stamp on an FV INF file if the contents if the FV Extended Header is present and those contents have changed since the last time the FV Extended Header was generated.

Do not update time/date stamp if FV INF file does not exist.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1752 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoFix incremental build issue for FV Extended Headers. If only the contents of the...
mdkinney [Sun, 22 Nov 2009 20:36:39 +0000 (20:36 +0000)]
Fix incremental build issue for FV Extended Headers.  If only the contents of the FV Extended Header has been modified, then the change would not be reflected in the final FV/FD image.

 This fix updates GenFds to update the time/date stamp on an FV INF file if the contents if the FV Extended Header is present and those contents have changed since the last time the FV Extended Header was generated.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1751 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoGenFv: Fix issue where 64-bit pointer was being truncated
jljusten [Thu, 19 Nov 2009 08:38:39 +0000 (08:38 +0000)]
GenFv: Fix issue where 64-bit pointer was being truncated

This change fixes a scenario where the high 32-bits of
ImageContext.ImageAddress were found to be zero'd by the
bitwise-and operation.  This was seen on 64-bit Linux.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1750 7335b38e-4728-0410-8992-fb3ffe349368

11 years agotools_def: Use objcopy rather than windres for GCC toolchains
jljusten [Wed, 18 Nov 2009 23:08:26 +0000 (23:08 +0000)]
tools_def: Use objcopy rather than windres for GCC toolchains

This resolves a build issue with CYGGCC, where windres will not handle
paths using the '\' path separation character.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1749 7335b38e-4728-0410-8992-fb3ffe349368

11 years agotools_def: Add DEFAULT_WIN_ASL_* macros
jljusten [Wed, 18 Nov 2009 00:34:43 +0000 (00:34 +0000)]
tools_def: Add DEFAULT_WIN_ASL_* macros

These macro allow the IASL or Microsoft ASL compilers to be easily
selected by modifying the macro at the start of tools_def.
By default, the macros point to IASL.  This is an alternate method
of choosing the MS ASL compiler.  The other option currently is to
use one of the 'xASL' toolchains.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1748 7335b38e-4728-0410-8992-fb3ffe349368

11 years agotools_def: Fix GCC IPF RC_FLAGS
jljusten [Wed, 18 Nov 2009 00:34:41 +0000 (00:34 +0000)]
tools_def: Fix GCC IPF RC_FLAGS

This change allows GCC for IPF to build HII resources.  A sample driver
which makes use of this is MdeModulePkg/Universal/HiiResourcesSampleDxe.
These flag changes were provided by Liming (lgao4).

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1747 7335b38e-4728-0410-8992-fb3ffe349368

11 years agomingw-gcc-build.py: Use GNU's auto-redirecting mirror url for GCC source
jljusten [Wed, 18 Nov 2009 00:34:40 +0000 (00:34 +0000)]
mingw-gcc-build.py: Use GNU's auto-redirecting mirror url for GCC source

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1746 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoUpdate VFR Compiler to support HII security privilege feature. It parses the followin...
rsun3 [Thu, 12 Nov 2009 03:43:36 +0000 (03:43 +0000)]
Update VFR Compiler to support HII security privilege feature. It parses the following VFR syntax and generates EFI_IFR_SECURITY op-code.

securityExp ::=
  "security" "(" AcessSetupGuid ")"

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1745 7335b38e-4728-0410-8992-fb3ffe349368

11 years agobuild_rule.template: Fix rule syntax for RC_FLAGS on GCC
jljusten [Thu, 12 Nov 2009 01:19:05 +0000 (01:19 +0000)]
build_rule.template: Fix rule syntax for RC_FLAGS on GCC

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1744 7335b38e-4728-0410-8992-fb3ffe349368

11 years ago1. Support SuppressIf form usage.
lgao4 [Wed, 11 Nov 2009 05:33:35 +0000 (05:33 +0000)]
1. Support SuppressIf form usage.
2. Support DisableIf question and question tag with the dynamic question value.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1743 7335b38e-4728-0410-8992-fb3ffe349368

11 years agotools_def.template: Add GCC_WINDRES_FLAGS macro
jljusten [Tue, 10 Nov 2009 19:52:03 +0000 (19:52 +0000)]
tools_def.template: Add GCC_WINDRES_FLAGS macro

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1742 7335b38e-4728-0410-8992-fb3ffe349368

11 years agotools_def.template: Make use of macros for GCC common flags
jljusten [Tue, 10 Nov 2009 19:52:02 +0000 (19:52 +0000)]
tools_def.template: Make use of macros for GCC common flags

This should fix an inconsistency with the GCC flags used during CYGGCC
builds.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1741 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoDSC: Add support for NULL classes within 'LibraryClasses' sections
jljusten [Sat, 7 Nov 2009 23:16:46 +0000 (23:16 +0000)]
DSC: Add support for NULL classes within 'LibraryClasses' sections

Previously, a module could specify a NULL library class that would
always be linked to the module.  For example:
  [Components.common]
    SamplePkg/SampleModule.inf {
      <LibraryClasses>
        NULL|PathToLib/ForcedToBeLinked.inf
    }

Now, a similar syntax can be used under normal 'LibraryClasses' sections:
  [LibraryClasses.common]
    NULL|PathToLib/ForcedToBeLinkedToAllModules.inf
  [LibraryClasses.X64]
    NULL|PathToLib/X64/ForcedToBeLinkedToAllModulesBuiltForX64.inf

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1740 7335b38e-4728-0410-8992-fb3ffe349368

11 years agotools_def.template: Introduce MS_VS_BIN and MS_VS_DLL definitions.
jljusten [Tue, 3 Nov 2009 23:54:05 +0000 (23:54 +0000)]
tools_def.template: Introduce MS_VS_BIN and MS_VS_DLL definitions.

These are used with the ICC & CYGGCC toolchains to allow easier configuration
for building with nmake.exe/rc.exe from VS2003, VS2005 or VS2005-on-win64.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1739 7335b38e-4728-0410-8992-fb3ffe349368

11 years agobuild_rule.template: Fix build issue seen with CYGGCC.
jljusten [Tue, 3 Nov 2009 23:54:03 +0000 (23:54 +0000)]
build_rule.template: Fix build issue seen with CYGGCC.

Remove (") quotes around $(OBJECT_FILES_LIST) in the build rules as
it seems to cause an issue with building for the GYCGCC toolchain.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1738 7335b38e-4728-0410-8992-fb3ffe349368

11 years agotools_def.template: Rename CYGWIN_BIN32 to CYGWIN_BINIA32
jljusten [Tue, 3 Nov 2009 23:54:02 +0000 (23:54 +0000)]
tools_def.template: Rename CYGWIN_BIN32 to CYGWIN_BINIA32

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1737 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoMake Binary file built correctly.
lgao4 [Mon, 2 Nov 2009 03:27:00 +0000 (03:27 +0000)]
Make Binary file built correctly.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1736 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoEnhance tool to support PI SMM, SMM_CORE FV file type and PI SMM_DEPEX section type.
lgao4 [Mon, 2 Nov 2009 01:59:32 +0000 (01:59 +0000)]
Enhance tool to support PI SMM, SMM_CORE FV file type and PI SMM_DEPEX section type.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1735 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoImprove CAPSULE_FLAGS parsing in [Capsule] section of FDF files.
mdkinney [Wed, 28 Oct 2009 22:24:57 +0000 (22:24 +0000)]
Improve CAPSULE_FLAGS parsing in [Capsule] section of FDF files.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1734 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoImprove CAPSULE_FLAGS parsing in [Capsule] section of FDF files.
mdkinney [Wed, 28 Oct 2009 22:08:01 +0000 (22:08 +0000)]
Improve CAPSULE_FLAGS parsing in [Capsule] section of FDF files.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1733 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoFix a bug to check checksum of FFS data.
lgao4 [Wed, 28 Oct 2009 02:10:17 +0000 (02:10 +0000)]
Fix a bug to check checksum of FFS data.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1732 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoMake sure all top level FVs in an FD are processed before capsules in an FD are proce...
mdkinney [Tue, 27 Oct 2009 21:52:01 +0000 (21:52 +0000)]
Make sure all top level FVs in an FD are processed before capsules in an FD are processed.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1731 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoResolve parsing ambiguities in [Capsule] section of FDF files.
mdkinney [Tue, 27 Oct 2009 21:51:18 +0000 (21:51 +0000)]
Resolve parsing ambiguities in [Capsule] section of FDF files.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1730 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoMake VolInfo tool to recognize SMM, SMM_CORE file type.
lgao4 [Tue, 27 Oct 2009 08:41:18 +0000 (08:41 +0000)]
Make VolInfo tool to recognize SMM, SMM_CORE file type.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1729 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoCalculate FFS file checksum only by FFS data, not the entire FFS file according to...
lgao4 [Tue, 27 Oct 2009 08:10:53 +0000 (08:10 +0000)]
Calculate FFS file checksum only by FFS data, not the entire FFS file according to PI1.2

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1728 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoGenFv: SEC/PEI Core files are not required for a VTF-0 Volume Top File.
jljusten [Mon, 26 Oct 2009 03:50:41 +0000 (03:50 +0000)]
GenFv: SEC/PEI Core files are not required for a VTF-0 Volume Top File.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1727 7335b38e-4728-0410-8992-fb3ffe349368

11 years ago1. Support the lower case string token name in compatible mode.
lgao4 [Thu, 22 Oct 2009 01:32:40 +0000 (01:32 +0000)]
1. Support the lower case string token name in compatible mode.
2. Check whether string token name contains the invalid lower case character in native mode.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1726 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoStrip possible blank before submit PCD information.
klu2 [Wed, 21 Oct 2009 14:31:21 +0000 (14:31 +0000)]
Strip possible blank before submit PCD information.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1725 7335b38e-4728-0410-8992-fb3ffe349368

11 years ago1. Free the allocated memory and Close the open file when exit.
lgao4 [Tue, 20 Oct 2009 06:03:40 +0000 (06:03 +0000)]
1. Free the allocated memory and Close the open file when exit.
2. Calculate PI FV header size with PI extension header and extension header entry.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1724 7335b38e-4728-0410-8992-fb3ffe349368

11 years ago1. Make code alignment as 4 byte indent.
lgao4 [Tue, 20 Oct 2009 06:00:40 +0000 (06:00 +0000)]
1. Make code alignment as 4 byte indent.
2. Add check for the size of each FV extend entry, which can't exceed 0x10000.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1723 7335b38e-4728-0410-8992-fb3ffe349368

11 years ago1. Add RC tool path for the different tool chain, which is used to create PE resource...
lgao4 [Mon, 19 Oct 2009 10:12:11 +0000 (10:12 +0000)]
1. Add RC tool path for the different tool chain, which is used to create PE resource section.
2. Add the build rule to create HII resource section.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1722 7335b38e-4728-0410-8992-fb3ffe349368

11 years ago1. Enhance GenFw tool to merge HII binary package into a txt resource file.
lgao4 [Mon, 19 Oct 2009 10:10:56 +0000 (10:10 +0000)]
1. Enhance GenFw tool to merge HII binary package into a txt resource file.
2. Enhance VfrCompiler tool to create the binary HII form package.
3. Enhance Build tool to create the binary HII string package when UEFI_HII_RESOURCE_SECTION is set, and insert HII resource section into the final EFI image.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1721 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoSet the unused .pdata and .xdata section as discardable attribute.
lgao4 [Mon, 19 Oct 2009 07:18:06 +0000 (07:18 +0000)]
Set the unused .pdata and .xdata section as discardable attribute.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1720 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoclean up non-English characters.
vanjeff [Sat, 10 Oct 2009 05:30:41 +0000 (05:30 +0000)]
clean up non-English characters.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1719 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoFix issues in report generation for DXE SMM drivers
mdkinney [Sat, 10 Oct 2009 00:31:53 +0000 (00:31 +0000)]
Fix issues in report generation for DXE SMM drivers

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1718 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoUpdate module scoped report of the 'build' command to list the complete set of librar...
mdkinney [Fri, 9 Oct 2009 23:58:14 +0000 (23:58 +0000)]
Update module scoped report of the 'build' command to list the complete set of library instances that are linked against each module and indicate if each library has a constructor, a destructor, or both.  Also, show the dependency expression for each library instance if one is present along with the dependency expression of each module and the merged dependency expression that combines the module's dependency expression with the dependency expression of all the module's dependent libraries.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1717 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoAllow macros to be used in PCD definitions in DSC files.
mdkinney [Thu, 8 Oct 2009 20:19:04 +0000 (20:19 +0000)]
Allow macros to be used in PCD definitions in DSC files.

For example:

[PcdsFixedAtBuild]
  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|$(DEBUG_PROPERTY_MASK)

The value of the macro $(DEBUG_PROPERTY_MASK) may be defined using two methods.
1) build command -D flag:
       build -D DEBUG_PROPERTY_MASK=0x2F

2) [defines] section of DSC file:
        DEFINE DEBUG_PROPERTY_MASK=0x2F

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1716 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoAdd support for FV Extension Headers and FV Extension Entries defined in the PI speci...
mdkinney [Tue, 6 Oct 2009 20:28:21 +0000 (20:28 +0000)]
Add support for FV Extension Headers and FV Extension Entries defined in the PI specifications.

The FDF syntax has been extended to allow zero or more FV Extension Entries to be declared.  The contents can come from files or byte arrays declared in the FDF itself.

1) FV Extension Entry of type 0x1234 using a workspace relative path to the entry contents.

  FV_EXT_ENTRY TYPE=0x1234 {
    FILE = Nt32Pkg/a.txt
  }

2) FV Extension Entry of type 0x1234 using an absolute path to the entry contents.

  FV_EXT_ENTRY TYPE=0x1234 {
    FILE = c:/b.txt
  }

3) FV Extension Entry of type 0x1234 using an embedded byte array

  FV_EXT_ENTRY TYPE=0x1234 {
    DATA = { 0x00, 0x01, 0x02 }
  }

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1715 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoAdd -y and -Y flags to the 'build' command to provide report generation capabilities...
mdkinney [Tue, 6 Oct 2009 20:24:17 +0000 (20:24 +0000)]
Add -y and -Y flags to the 'build' command to provide report generation capabilities.  The report is currently limited to platform and modules scope PCD setting summaries.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1714 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoFix mistaken generation of a build error for case-sensitive file systems.
jljusten [Thu, 1 Oct 2009 06:32:20 +0000 (06:32 +0000)]
Fix mistaken generation of a build error for case-sensitive file systems.

On a case sensitive file system if more than one paths with similar names
exists, it could cause a false build error to be generated.  For example,
if both an x64 and an X64 directory existed, then it was possible that an
error would be generated saying that the file case was incorrect.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1713 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoCorrect OrderList opcode MaxContainers from the array size to the array number.
lgao4 [Tue, 22 Sep 2009 03:24:20 +0000 (03:24 +0000)]
Correct OrderList opcode MaxContainers from the array size to the array number.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1712 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoMinor update VFR tool to align with spec updates in MdePkg.
qhuang8 [Mon, 21 Sep 2009 14:16:40 +0000 (14:16 +0000)]
Minor update VFR tool to align with spec updates in MdePkg.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1711 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoFix GCC build failure because print format L is not recognized by GCC. Only l can...
lgao4 [Thu, 17 Sep 2009 02:25:42 +0000 (02:25 +0000)]
Fix GCC build failure because print format L is not recognized by GCC. Only l can be used.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1710 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoAdd check when symbol file doesn't match bin file.
lgao4 [Wed, 16 Sep 2009 01:55:44 +0000 (01:55 +0000)]
Add check when symbol file doesn't match bin file.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1709 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoFix the bug to zero .xdata section.
lgao4 [Tue, 15 Sep 2009 08:26:41 +0000 (08:26 +0000)]
Fix the bug to zero .xdata section.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1708 7335b38e-4728-0410-8992-fb3ffe349368

11 years agosync with EDK II maintrunk.
vanjeff [Fri, 11 Sep 2009 02:23:56 +0000 (02:23 +0000)]
sync with EDK II maintrunk.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1707 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoCorrectly create extension FvNameGuid for the empty FV image when FvNameGuid is set.
lgao4 [Thu, 10 Sep 2009 08:14:40 +0000 (08:14 +0000)]
Correctly create extension FvNameGuid for the empty FV image when FvNameGuid is set.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1706 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoReduce command line option, we can specify --capflag multi times to enumerate all...
qhuang8 [Thu, 10 Sep 2009 07:59:00 +0000 (07:59 +0000)]
Reduce command line option, we can specify --capflag multi times to enumerate all four combinations.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1705 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoMinor update previous check in
qhuang8 [Thu, 10 Sep 2009 07:36:18 +0000 (07:36 +0000)]
Minor update previous check in

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1704 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoFor EDK module, if source over write path does exists, the source file will be got...
lgao4 [Thu, 10 Sep 2009 07:21:26 +0000 (07:21 +0000)]
For EDK module, if source over write path does exists, the source file will be got from source over write path.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1703 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoAdd a new Capsule initiate reset flag support in build tools.
qhuang8 [Thu, 10 Sep 2009 07:19:52 +0000 (07:19 +0000)]
Add a new Capsule initiate reset flag support in build tools.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1702 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoFix the bug that ECP platform build break.
rsun3 [Wed, 9 Sep 2009 02:24:20 +0000 (02:24 +0000)]
Fix the bug that ECP platform build break.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1701 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoFix build break while UNI file string name too long.
qhuang8 [Tue, 8 Sep 2009 08:53:18 +0000 (08:53 +0000)]
Fix build break while UNI file string name too long.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1700 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoUpdate VFR file build rule by removing trim action, which may delete some information...
lgao4 [Tue, 8 Sep 2009 04:44:38 +0000 (04:44 +0000)]
Update VFR file build rule by removing trim action, which may delete some information in vfr file.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1699 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoCorrect strnicmp to strncmp
lgao4 [Tue, 8 Sep 2009 01:54:55 +0000 (01:54 +0000)]
Correct strnicmp to strncmp

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1698 7335b38e-4728-0410-8992-fb3ffe349368

11 years ago1. FormID can't be set to zero.
lgao4 [Mon, 7 Sep 2009 03:31:10 +0000 (03:31 +0000)]
1. FormID can't be set to zero.
2. Check the default value for Numeric and OneOf opcode.
3. Support #pragma Pack(show)

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1697 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoSupport PI EFI_SECTION_SMM_DEPEX section.
lgao4 [Wed, 2 Sep 2009 09:47:05 +0000 (09:47 +0000)]
Support PI EFI_SECTION_SMM_DEPEX section.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1696 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoAdd support for PI SMM driver module type in EDK style INF file.
rsun3 [Wed, 2 Sep 2009 07:15:17 +0000 (07:15 +0000)]
Add support for PI SMM driver module type in EDK style INF file.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1695 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoAdd /GF compiler option for IPF ICC tool chains by default.
qhuang8 [Tue, 1 Sep 2009 15:01:16 +0000 (15:01 +0000)]
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://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1694 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoAdd support for defining macros in the command line to the Build utility.
rsun3 [Fri, 28 Aug 2009 05:34:41 +0000 (05:34 +0000)]
Add support for defining macros in the command line to the Build utility.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1693 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoSplit XCODE32 IA32 DLINK into DEBUG & RELEASE. Added INTRINSIC_FLAGS so it would...
ajfish [Thu, 27 Aug 2009 20:44:35 +0000 (20:44 +0000)]
Split XCODE32 IA32 DLINK into DEBUG & RELEASE. Added INTRINSIC_FLAGS so it would now be possible to override the ARM compiler intrinsic lib from a DSC file. This allows the DSC to match the compiler intrinsic lib to a specific ARM processor type. So for example if you have a newer ARM processor it may support a div instruction, but older processors do not. You sould use INTRINSIC_FLAGS to point to an intrinsic library version that uses the ARM div instruction as a size/speed optimization for your platform.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1692 7335b38e-4728-0410-8992-fb3ffe349368

11 years agobuild tools will break if PEIM or DXE driver has no valid [Depex] section.
vanjeff [Thu, 27 Aug 2009 07:07:10 +0000 (07:07 +0000)]
build tools will break if PEIM or DXE driver has no valid [Depex] section.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1691 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoadd RVCT (RealView Compiler Toolkit from ARM for ARM hosted on Windows)/ RVCTCYGWIN...
eric_tian [Thu, 27 Aug 2009 06:56:53 +0000 (06:56 +0000)]
add RVCT (RealView Compiler Toolkit from ARM for ARM hosted on Windows)/ RVCTCYGWIN (RVCT compiler running on cygwin) / XCODE /ARMGCC support, which is contributed by Andrew Fish.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1690 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoFix a bug that the build process breaks with a message "in Exec IntegrityError: colum...
rsun3 [Wed, 26 Aug 2009 09:27:25 +0000 (09:27 +0000)]
Fix a bug that the build process breaks with a message "in Exec IntegrityError: column ID is not unique" when !include statement is used in a PCD section in the platform DSC file. The root cause is that the end flag record is inserted multiple times. The solution is that do not set end flag when processing included meta files.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1689 7335b38e-4728-0410-8992-fb3ffe349368

11 years ago1. Support CAPSULE flash region type in FD section of FDF file.
lgao4 [Fri, 21 Aug 2009 08:52:36 +0000 (08:52 +0000)]
1. Support CAPSULE flash region type in FD section of FDF file.
2. Enhance the circle check between FV, Capsule and FD image.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1688 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoAdd the missing build options.
lgao4 [Fri, 21 Aug 2009 05:55:21 +0000 (05:55 +0000)]
Add the missing build options.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1687 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoFix the issue that EFI_IFR_RESET_BUTTON is incorrectly listed as a question.
qhuang8 [Wed, 19 Aug 2009 13:29:29 +0000 (13:29 +0000)]
Fix the issue that EFI_IFR_RESET_BUTTON is incorrectly listed as a question.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1686 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoAdd the dependency for the capsule generation.
lgao4 [Mon, 17 Aug 2009 02:54:46 +0000 (02:54 +0000)]
Add the dependency for the capsule generation.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1685 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoChange the default location for IASL on Unix.
jljusten [Sat, 15 Aug 2009 05:05:00 +0000 (05:05 +0000)]
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://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1684 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoRemove '/' directory separator from CYGWIN & UNIXGCC tool specications.
jljusten [Sat, 15 Aug 2009 05:04:59 +0000 (05:04 +0000)]
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://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1683 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoFix warning seen with GCC.
jljusten [Fri, 14 Aug 2009 06:03:54 +0000 (06:03 +0000)]
Fix warning seen with GCC.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1682 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoFix a python syntax error.
qhuang8 [Fri, 14 Aug 2009 01:07:27 +0000 (01:07 +0000)]
Fix a python syntax error.
If we use "from Common.BuildToolError import *", we really do not need "BuildToolError." name space, which is only required when we use "from Common.BuildToolError import BuildToolError"

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1681 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoFix GenFvImage to generate FvImage when the required size is same to the size of...
lgao4 [Thu, 13 Aug 2009 09:40:49 +0000 (09:40 +0000)]
Fix GenFvImage to generate FvImage when the required size is same to the size of Fv image.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1680 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoUpdate Base Tools Source to integrate patch contributed by Andrew Fish
qhuang8 [Thu, 13 Aug 2009 02:05:23 +0000 (02:05 +0000)]
Update Base Tools Source to integrate patch contributed by Andrew Fish

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1679 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoDon't check acpi table length for the revision values larger than the largest publish...
lgao4 [Wed, 12 Aug 2009 01:23:33 +0000 (01:23 +0000)]
Don't check acpi table length for the revision values larger than the largest published value.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1678 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoRemove duplicate MIN and MAX macro functions, for they are already defined in BaseTyp...
qhuang8 [Tue, 11 Aug 2009 15:40:46 +0000 (15:40 +0000)]
Remove duplicate MIN and MAX macro functions, for they are already defined in BaseTypes.h in BaseTools C source project.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1677 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoFix warnings generated by GCC 4.3.3 under Linux x86-64.
jljusten [Sat, 8 Aug 2009 23:59:51 +0000 (23:59 +0000)]
Fix warnings generated by GCC 4.3.3 under Linux x86-64.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1676 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoScrub BaseTools C Source to solve some gaps between EFI BaseTypes to POSIX types...
qhuang8 [Fri, 7 Aug 2009 11:54:30 +0000 (11:54 +0000)]
Scrub BaseTools C Source to solve some gaps between EFI BaseTypes to POSIX types for printf() and other libc functions.
The following rules are applied:
INT8, INT16   => "%d" with no type cast required.                            e.g. printf ("%d", Int16Value);
UINT8, UINT16 => "%u","%x" or "%X" with no type cast required.               e.g. printf ("%x", Uint16Value);
INT32         => "%d" with type-cast (int)                                   e.g. printf ("%d", (int) Int32Value);
UINT32        => "%u","%x" or "%X" with type-cast (unsigned)                 e.g. printf ("%u", (unsigned) Uint32Value)
INT64         => "%lld" with type-cast (long long)                           e.g. printf ("%lld", (long long) Int64Value);
UINT64        => "%llu", "%llx" or "llX" with type-cast (unsigned long long) e.g. printf ("%llX", (unsigned long long) Uint64Value);

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1675 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoPrint compiling error message for testing python code
klu2 [Thu, 6 Aug 2009 02:16:48 +0000 (02:16 +0000)]
Print compiling error message for testing python code

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1674 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoUpdate links for broken urls in BaseTools/gcc/mingw-gcc-build.py script.
jljusten [Wed, 5 Aug 2009 21:11:57 +0000 (21:11 +0000)]
Update links for broken urls in BaseTools/gcc/mingw-gcc-build.py script.

Please note that the new version of mingw-w64-snapshot-20090419.tar.bz2
requires a modification of
  IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/UefiLzma.h
within the edk2 source tree.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1673 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoAdd endopcode for Default and Value statement according to UEFI2.1 spec.
lgao4 [Wed, 5 Aug 2009 06:17:36 +0000 (06:17 +0000)]
Add endopcode for Default and Value statement according to UEFI2.1 spec.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1672 7335b38e-4728-0410-8992-fb3ffe349368

11 years ago1. Fix a bug in parse meta-data files to skip directory listed in config.ini.
hchen30 [Tue, 4 Aug 2009 04:15:05 +0000 (04:15 +0000)]
1. Fix a bug in parse meta-data files to skip directory listed in config.ini.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1671 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoAdd check for python 2.5 or newer to mingw-gcc-build.py.
jljusten [Thu, 30 Jul 2009 21:03:34 +0000 (21:03 +0000)]
Add check for python 2.5 or newer to mingw-gcc-build.py.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1670 7335b38e-4728-0410-8992-fb3ffe349368

11 years ago1. Add a checkpoint for ECC meta-data parse to ignore non-existing !include dsc file.
hchen30 [Wed, 29 Jul 2009 05:40:07 +0000 (05:40 +0000)]
1. Add a checkpoint for ECC meta-data parse to ignore non-existing !include dsc file.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1669 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoThis file is unused, so it is getting removed.
ajfish [Thu, 23 Jul 2009 00:53:22 +0000 (00:53 +0000)]
This file is unused, so it is getting removed.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1668 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoFix python directory key error in case build rule family is not defined.
qhuang8 [Wed, 22 Jul 2009 09:45:10 +0000 (09:45 +0000)]
Fix python directory key error in case build rule family is not defined.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1667 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoInitialize 'FamilyIsNull' to True to avoid reference to uninitialized local variable.
qhuang8 [Wed, 22 Jul 2009 06:00:51 +0000 (06:00 +0000)]
Initialize 'FamilyIsNull' to True to avoid reference to uninitialized local variable.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1666 7335b38e-4728-0410-8992-fb3ffe349368

11 years ago1. Clean up all warnings for C source files in Base tool project.
qhuang8 [Wed, 22 Jul 2009 05:09:46 +0000 (05:09 +0000)]
1. Clean up all warnings for C source files in Base tool project.
2. Turn on warning as error for GCC and MSFT CFLAGS so that build will break if a developer introduces a warning during development.
3. Increase waring level to /W4 for MSFT tool chain to detect more warnings in C source code.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1665 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoBUILDRULEFAMILY supports BuildOptions in INF and DSC.
lgao4 [Tue, 21 Jul 2009 10:15:37 +0000 (10:15 +0000)]
BUILDRULEFAMILY supports BuildOptions in INF and DSC.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1664 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoFix the bug that GenFw can not convert ELF to PE format correct, the root cause is...
klu2 [Mon, 20 Jul 2009 11:30:06 +0000 (11:30 +0000)]
Fix the bug that GenFw can not convert ELF to PE format correct, the root cause is invalid size of OptionalHeader is computed.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1663 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoFix VfrCompiler bug to create varstore name by varstore name field not structure...
lgao4 [Fri, 17 Jul 2009 11:07:47 +0000 (11:07 +0000)]
Fix VfrCompiler bug to create varstore name by varstore name field not structure field for framework Vfr.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1662 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoRemove binary tools.
lgao4 [Fri, 17 Jul 2009 10:26:24 +0000 (10:26 +0000)]
Remove binary tools.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1661 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoRemove unnecessary binary tool checkin log.
lgao4 [Fri, 17 Jul 2009 08:47:13 +0000 (08:47 +0000)]
Remove unnecessary binary tool checkin log.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1660 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoChange File name
lgao4 [Fri, 17 Jul 2009 08:18:18 +0000 (08:18 +0000)]
Change File name

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1659 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoCheck in the tools executables for
lgao4 [Fri, 17 Jul 2009 07:37:25 +0000 (07:37 +0000)]
Check in the tools executables for
Microsoft Windows 32-bit Operating Systems compiled by VS2005 and Python25

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1658 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoAllow OptionRom overrides to be specified in any order.
jljusten [Tue, 14 Jul 2009 23:32:39 +0000 (23:32 +0000)]
Allow OptionRom overrides to be specified in any order.

Previously the code would fail if the overrides were not specified
in this order:
1. PCI_VENDOR_ID
2. PCI_CLASS_CODE
3. PCI_DEVICE_ID
4. PCI_REVISION
5. COMPRESS

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1657 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoAllow COMPRESS to be specified in .inf file for OptionRom building.
jljusten [Tue, 14 Jul 2009 23:32:31 +0000 (23:32 +0000)]
Allow COMPRESS to be specified in .inf file for OptionRom building.
It can also be specified or overridden in the .fdf file.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1656 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoFix a bug that GenFv tool can't generate the correct top reset vector table.
lgao4 [Mon, 13 Jul 2009 02:56:04 +0000 (02:56 +0000)]
Fix a bug that GenFv tool can't generate the correct top reset vector table.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1655 7335b38e-4728-0410-8992-fb3ffe349368

11 years agoIf PCD's datum type is VOID* and value is an unicode string, build tool need generate...
klu2 [Fri, 10 Jul 2009 09:24:57 +0000 (09:24 +0000)]
If PCD's datum type is VOID* and value is an unicode string, build tool need generate UINT16 array for it but *not* UINT8 array, because UINT16 array will guarantee string aligned at 16-bit boundary.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1654 7335b38e-4728-0410-8992-fb3ffe349368