You can subscribe to this list here.
| 2010 |
Jan
(18) |
Feb
(75) |
Mar
(40) |
Apr
(18) |
May
(12) |
Jun
(13) |
Jul
(17) |
Aug
(25) |
Sep
(31) |
Oct
(16) |
Nov
(20) |
Dec
(13) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2011 |
Jan
(5) |
Feb
(7) |
Mar
(6) |
Apr
(21) |
May
(12) |
Jun
(35) |
Jul
(29) |
Aug
(56) |
Sep
(64) |
Oct
(43) |
Nov
(60) |
Dec
(26) |
| 2012 |
Jan
(6) |
Feb
(12) |
Mar
(17) |
Apr
(10) |
May
(11) |
Jun
(13) |
Jul
(6) |
Aug
(2) |
Sep
(3) |
Oct
(9) |
Nov
(1) |
Dec
(2) |
| 2013 |
Jan
(5) |
Feb
(5) |
Mar
(1) |
Apr
(3) |
May
(3) |
Jun
(3) |
Jul
(8) |
Aug
(7) |
Sep
(2) |
Oct
(4) |
Nov
(14) |
Dec
(10) |
| 2014 |
Jan
(22) |
Feb
(7) |
Mar
(3) |
Apr
(4) |
May
(1) |
Jun
(6) |
Jul
(4) |
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
|
From: <hc...@us...> - 2013-04-07 01:45:30
|
Revision: 2578
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2578&view=rev
Author: hchen30
Date: 2013-04-07 01:45:20 +0000 (Sun, 07 Apr 2013)
Log Message:
-----------
1. Escape characters ?\226?\128?\152 \?\226?\128?\157 ?\226?\128?\153, ?\226?\128?\156 \?\226?\128?\153 ?\226?\128?\157, ?\226?\128?\156 \/ ?\226?\128?\157 to ?\226?\128?\152 ?\226?\128?\157 ?\226?\128?\153, ?\226?\128?\156 , ?\226?\128?\157, ?\226?\128?\156 / ?\226?\128?\157 in UNI files.
Modified Paths:
--------------
trunk/BaseTools/Source/Python/AutoGen/UniClassObject.py
Modified: trunk/BaseTools/Source/Python/AutoGen/UniClassObject.py
===================================================================
--- trunk/BaseTools/Source/Python/AutoGen/UniClassObject.py 2013-04-02 05:22:30 UTC (rev 2577)
+++ trunk/BaseTools/Source/Python/AutoGen/UniClassObject.py 2013-04-07 01:45:20 UTC (rev 2578)
@@ -38,6 +38,9 @@
NULL = u'\u0000'
TAB = u'\t'
BACK_SPLASH = u'\\'
+DOBULE_QUOTED_SPLASH = u'\\"'
+SIGLE_QUOTED_SPLASH = u"\\'"
+TAB_BACK_SLASH = u"\\/"
gIncludePattern = re.compile("^#include +[\"<]+([^\"< >]+)[>\"]+$", re.MULTILINE | re.UNICODE)
@@ -346,7 +349,10 @@
Line = Line.replace(u'''\"''', u'''"''')
Line = Line.replace(u'\t', u' ')
Line = Line.replace(u'\u0006', u'\\')
-
+ Line = Line.replace(DOBULE_QUOTED_SPLASH, u'"')
+ Line = Line.replace(SIGLE_QUOTED_SPLASH, u"'")
+ Line = Line.replace(TAB_BACK_SLASH, u"/")
+
# if Line.find(u'\\x'):
# hex = Line[Line.find(u'\\x') + 2 : Line.find(u'\\x') + 6]
# hex = "u'\\u" + hex + "'"
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yi...@us...> - 2013-04-02 05:22:42
|
Revision: 2577
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2577&view=rev
Author: yingke
Date: 2013-04-02 05:22:30 +0000 (Tue, 02 Apr 2013)
Log Message:
-----------
1. Don?\226?\128?\153t update *.ver files if generated version files are same with existed files
2. Use correct arch specified by build option to get necessary items other than get all items from DSC file when generating build report
3. Ignore unknown sections for EDK style INF modules
Reviewed-by: Gao Liming <lim...@in...>
Signed-off-by: Liu Yingke <yin...@in...>
Modified Paths:
--------------
trunk/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py
trunk/BaseTools/Source/Python/Workspace/MetaFileParser.py
trunk/BaseTools/Source/Python/build/BuildReport.py
Modified: trunk/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py
===================================================================
--- trunk/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py 2013-03-27 01:49:07 UTC (rev 2576)
+++ trunk/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py 2013-04-02 05:22:30 UTC (rev 2577)
@@ -364,6 +364,7 @@
for SecAlign in InputAlign:
Cmd += ["--sectionalign", SecAlign]
+ CommandFile = Output + '.txt'
if Ui not in [None, '']:
#Cmd += ["-n", '"' + Ui + '"']
SectionData = array.array('B', [0,0,0,0])
@@ -378,12 +379,16 @@
if BuildNumber:
Cmd += ["-j", BuildNumber]
Cmd += ["-o", Output]
+
+ SaveFileOnChange(CommandFile, ' '.join(Cmd), False)
+ if not GenFdsGlobalVariable.NeedsUpdate(Output, list(Input) + [CommandFile]):
+ return
+
GenFdsGlobalVariable.CallExternalTool(Cmd, "Failed to generate section")
else:
Cmd += ["-o", Output]
Cmd += Input
- CommandFile = Output + '.txt'
SaveFileOnChange(CommandFile, ' '.join(Cmd), False)
if not GenFdsGlobalVariable.NeedsUpdate(Output, list(Input) + [CommandFile]):
return
Modified: trunk/BaseTools/Source/Python/Workspace/MetaFileParser.py
===================================================================
--- trunk/BaseTools/Source/Python/Workspace/MetaFileParser.py 2013-03-27 01:49:07 UTC (rev 2576)
+++ trunk/BaseTools/Source/Python/Workspace/MetaFileParser.py 2013-04-02 05:22:30 UTC (rev 2577)
@@ -286,16 +286,16 @@
self._SectionName = ItemList[0].upper()
if self._SectionName in self.DataType:
self._SectionType = self.DataType[self._SectionName]
+ # Check if the section name is valid
+ if self._SectionName not in SECTIONS_HAVE_ITEM_AFTER_ARCH and len(ItemList) > 2:
+ EdkLogger.error("Parser", FORMAT_UNKNOWN_ERROR, "%s is not a valid section name" % Item,
+ self.MetaFile, self._LineIndex + 1, self._CurrentLine)
+ elif self._Version >= 0x00010005:
+ EdkLogger.error("Parser", FORMAT_UNKNOWN_ERROR, "%s is not a valid section name" % Item,
+ self.MetaFile, self._LineIndex + 1, self._CurrentLine)
else:
self._SectionType = MODEL_UNKNOWN
- EdkLogger.error("Parser", FORMAT_UNKNOWN_ERROR, "%s is not a valid section name" % Item,
- self.MetaFile, self._LineIndex + 1, self._CurrentLine)
- # Check if the section name is valid
- if self._SectionName not in SECTIONS_HAVE_ITEM_AFTER_ARCH and len(ItemList) > 2:
- EdkLogger.error("Parser", FORMAT_UNKNOWN_ERROR, "%s is not a valid section name" % Item,
- self.MetaFile, self._LineIndex + 1, self._CurrentLine)
-
# S1 is always Arch
if len(ItemList) > 1:
S1 = ItemList[1].upper()
Modified: trunk/BaseTools/Source/Python/build/BuildReport.py
===================================================================
--- trunk/BaseTools/Source/Python/build/BuildReport.py 2013-03-27 01:49:07 UTC (rev 2576)
+++ trunk/BaseTools/Source/Python/build/BuildReport.py 2013-04-02 05:22:30 UTC (rev 2577)
@@ -699,7 +699,8 @@
# Collect PCDs defined in DSC common section
#
self.DscPcdDefault = {}
- for Platform in Wa.BuildDatabase.WorkspaceDb.PlatformList:
+ for Arch in Wa.ArchList:
+ Platform = Wa.BuildDatabase[Wa.MetaFile, Arch, Wa.BuildTarget, Wa.ToolChain]
for (TokenCName, TokenSpaceGuidCName) in Platform.Pcds:
DscDefaultValue = Platform.Pcds[(TokenCName, TokenSpaceGuidCName)].DefaultValue
if DscDefaultValue:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <hc...@us...> - 2013-03-27 01:49:17
|
Revision: 2576
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2576&view=rev
Author: hchen30
Date: 2013-03-27 01:49:07 +0000 (Wed, 27 Mar 2013)
Log Message:
-----------
1. Remove the check for duplicated UserExtension section.
assigned-by: Hess Chen (hes...@in...)
reviewed-by: Fei Chen (fei...@in...)
Modified Paths:
--------------
trunk/BaseTools/Source/Python/UPT/Object/Parser/InfUserExtensionObject.py
Modified: trunk/BaseTools/Source/Python/UPT/Object/Parser/InfUserExtensionObject.py
===================================================================
--- trunk/BaseTools/Source/Python/UPT/Object/Parser/InfUserExtensionObject.py 2013-02-26 03:10:34 UTC (rev 2575)
+++ trunk/BaseTools/Source/Python/UPT/Object/Parser/InfUserExtensionObject.py 2013-03-27 01:49:07 UTC (rev 2576)
@@ -89,19 +89,19 @@
InfUserExtensionItemObj.SetContent(UserExtensionCont)
InfUserExtensionItemObj.SetSupArchList(IdContentItem[2])
- for CheckItem in self.UserExtension:
- if IdContentItem[0] == CheckItem[0] and IdContentItem[1] == CheckItem[1]:
- if IdContentItem[2].upper() == 'COMMON' or CheckItem[2].upper() == 'COMMON':
- #
- # For COMMON ARCH type, do special check.
- #
- Logger.Error('InfParser',
- ToolError.FORMAT_INVALID,
- ST.ERR_INF_PARSER_UE_SECTION_DUPLICATE_ERROR%\
- (IdContentItem[0] + '.' + IdContentItem[1] + '.' + IdContentItem[2]),
- File=GlobalData.gINF_MODULE_NAME,
- Line=LineNo,
- ExtraData=None)
+# for CheckItem in self.UserExtension:
+# if IdContentItem[0] == CheckItem[0] and IdContentItem[1] == CheckItem[1]:
+# if IdContentItem[2].upper() == 'COMMON' or CheckItem[2].upper() == 'COMMON':
+# #
+# # For COMMON ARCH type, do special check.
+# #
+# Logger.Error('InfParser',
+# ToolError.FORMAT_INVALID,
+# ST.ERR_INF_PARSER_UE_SECTION_DUPLICATE_ERROR%\
+# (IdContentItem[0] + '.' + IdContentItem[1] + '.' + IdContentItem[2]),
+# File=GlobalData.gINF_MODULE_NAME,
+# Line=LineNo,
+# ExtraData=None)
if self.UserExtension.has_key(IdContentItem):
#
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yz...@us...> - 2013-02-26 03:10:40
|
Revision: 2575
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2575&view=rev
Author: yzhen22
Date: 2013-02-26 03:10:34 +0000 (Tue, 26 Feb 2013)
Log Message:
-----------
Update the help information of GenPage according to EDK II Tools Design Spec
Signed-off-by: Yuxin Zheng <yux...@in...>
Reviewed-by: Liming Gao <lim...@in...>
Modified Paths:
--------------
trunk/BaseTools/Source/C/GenPage/GenPage.c
Modified: trunk/BaseTools/Source/C/GenPage/GenPage.c
===================================================================
--- trunk/BaseTools/Source/C/GenPage/GenPage.c 2013-02-26 03:09:10 UTC (rev 2574)
+++ trunk/BaseTools/Source/C/GenPage/GenPage.c 2013-02-26 03:10:34 UTC (rev 2575)
@@ -1,6 +1,6 @@
/** @file
-Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -91,8 +91,7 @@
--*/
{
- printf ("%s v%d.%d %s -Utility to generate the EfiLoader image containing page table.\n", UTILITY_NAME, UTILITY_MAJOR_VERSION, UTILITY_MINOR_VERSION, __BUILD_VERSION);
- printf ("Copyright (c) 2008 - 2011 Intel Corporation. All rights reserved.\n");
+ printf ("%s Version %d.%d Build %s\n", UTILITY_NAME, UTILITY_MAJOR_VERSION, UTILITY_MINOR_VERSION, __BUILD_VERSION);
}
VOID
@@ -100,25 +99,29 @@
void
)
{
- Version();
- printf ("\nUsage: \n\
- GenPage\n\
- -o, --output Filename\n\
- The file that contains both non-page table part and\n\
- page table\n\
- [-b, --baseaddr baseaddress]\n\
+ printf ("Usage: GenPage.exe [options] EfiLoaderImageName \n\n\
+Copyright (c) 2008 - 2013, Intel Corporation. All rights reserved.\n\n\
+ Utility to generate the EfiLoader image containing a page table.\n\n\
+optional arguments:\n\
+ -h, --help Show this help message and exit\n\
+ --version Show program's version number and exit\n\
+ -d [DEBUG], --debug [DEBUG]\n\
+ Output DEBUG statements, where DEBUG_LEVEL is 0 (min)\n\
+ - 9 (max)\n\
+ -v, --verbose Print informational statements\n\
+ -q, --quiet Returns the exit code, error messages will be\n\
+ displayed\n\
+ -s, --silent Returns only the exit code; informational and error\n\
+ messages are not displayed\n\
+ -o OUTPUT_FILENAME, --output OUTPUT_FILENAME\n\
+ Output file contain both the non-page table part and\n\
+ the page table\n\
+ -b BASE_ADDRESS, --baseaddr BASE_ADDRESS\n\
The page table location\n\
- [-f, --offset offset]\n\
+ -f OFFSET, --offset OFFSET\n\
The position that the page table will appear in the\n\
output file\n\
- [-v, --verbose] Turn on verbose output with informational messages\n\
- printed\n\
- [--version] Print version and copyright of this program and exit\n\
- [-q, --quiet] Disable all messages except unrecoverable errors\n\
- [-d, --debug[#]] Enable debug messages, at level #\n\
- [-h, --help] Print copyright, version and usage of this program\n\
- and exit\n\
- EfiLoaderImageName\n");
+ --sfo Reserved for future use\n");
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yz...@us...> - 2013-02-26 03:09:17
|
Revision: 2574
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2574&view=rev
Author: yzhen22
Date: 2013-02-26 03:09:10 +0000 (Tue, 26 Feb 2013)
Log Message:
-----------
Update the help information of GenBootSector according to EDK II Tools Design Spec
Signed-off-by: Yuxin Zheng <yux...@in...>
Reviewed-by: Liming Gao <lim...@in...>
Modified Paths:
--------------
trunk/BaseTools/Source/C/GenBootSector/GenBootSector.c
Modified: trunk/BaseTools/Source/C/GenBootSector/GenBootSector.c
===================================================================
--- trunk/BaseTools/Source/C/GenBootSector/GenBootSector.c 2013-02-26 00:35:19 UTC (rev 2573)
+++ trunk/BaseTools/Source/C/GenBootSector/GenBootSector.c 2013-02-26 03:09:10 UTC (rev 2574)
@@ -1,6 +1,6 @@
/** @file
-Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -542,8 +542,7 @@
--*/
{
- printf ("%s v%d.%d %s -Utility to retrieve and update the boot sector or MBR.\n", UTILITY_NAME, UTILITY_MAJOR_VERSION, UTILITY_MINOR_VERSION, __BUILD_VERSION);
- printf ("Copyright (c) 2009 - 2010 Intel Corporation. All rights reserved.\n");
+ printf ("%s Version %d.%d Build%s\n", UTILITY_NAME, UTILITY_MAJOR_VERSION, UTILITY_MINOR_VERSION, __BUILD_VERSION);
}
VOID
@@ -551,18 +550,27 @@
void
)
{
- Version();
- printf ("\nUsage: \n\
- GenBootSector\n\
- [-l, --list list disks]\n\
- [-i, --input Filename]\n\
- [-o, --output Filename]\n\
- [-m, --mbr process the MBR also]\n\
- [-v, --verbose]\n\
- [--version]\n\
- [-q, --quiet disable all messages except fatal errors]\n\
- [-d, --debug[#]\n\
- [-h, --help]\n");
+ printf ("Usage: GenBootSector [options] --cfg-file CFG_FILE\n\n\
+Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved.\n\n\
+ Utility to retrieve and update the boot sector or MBR.\n\n\
+optional arguments:\n\
+ -h, --help Show this help message and exit\n\
+ --version Show program's version number and exit\n\
+ -d [DEBUG], --debug [DEBUG]\n\
+ Output DEBUG statements, where DEBUG_LEVEL is 0 (min)\n\
+ - 9 (max)\n\
+ -v, --verbose Print informational statements\n\
+ -q, --quiet Returns the exit code, error messages will be\n\
+ displayed\n\
+ -s, --silent Returns only the exit code; informational and error\n\
+ messages are not displayed\n\
+ -l, --list List disk drives\n\
+ -i INPUT_FILENAME, --input INPUT_FILENAME\n\
+ Input file name\n\
+ -o OUTPUT_FILENAME, --output OUTPUT_FILENAME\n\
+ Output file name\n\
+ -m, --mbr Also process the MBR\n\
+ --sfo Reserved for future use\n");
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yz...@us...> - 2013-02-26 00:35:27
|
Revision: 2573
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2573&view=rev
Author: yzhen22
Date: 2013-02-26 00:35:19 +0000 (Tue, 26 Feb 2013)
Log Message:
-----------
Update the help information of GenCrc32 according to EDK II Tools Design Spec
Modified Paths:
--------------
trunk/BaseTools/Source/C/GenCrc32/GenCrc32.c
Modified: trunk/BaseTools/Source/C/GenCrc32/GenCrc32.c
===================================================================
--- trunk/BaseTools/Source/C/GenCrc32/GenCrc32.c 2013-02-14 23:46:59 UTC (rev 2572)
+++ trunk/BaseTools/Source/C/GenCrc32/GenCrc32.c 2013-02-26 00:35:19 UTC (rev 2573)
@@ -1,6 +1,6 @@
/** @file
-Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2007 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -55,7 +55,7 @@
--*/
{
- fprintf (stdout, "%s Version %d.%d %s \n", UTILITY_NAME, UTILITY_MAJOR_VERSION, UTILITY_MINOR_VERSION, __BUILD_VERSION);
+ fprintf (stdout, "%s Version %d.%d Build %s \n", UTILITY_NAME, UTILITY_MAJOR_VERSION, UTILITY_MINOR_VERSION, __BUILD_VERSION);
}
VOID
@@ -81,26 +81,32 @@
//
// Summary usage
//
- fprintf (stdout, "\nUsage: %s -e|-d [options] <input_file>\n\n", UTILITY_NAME);
+ fprintf (stdout, "Usage: GenCrc32 -e|-d [options] <input_file>\n\n");
//
// Copyright declaration
//
- fprintf (stdout, "Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.\n\n");
+ fprintf (stdout, "Copyright (c) 2007 - 2013, Intel Corporation. All rights reserved.\n\n");
//
// Details Option
//
- fprintf (stdout, "Options:\n");
- fprintf (stdout, " -o FileName, --output FileName\n\
- File will be created to store the ouput content.\n");
- fprintf (stdout, " -e, --encode Calculate CRC32 value for the input file.\n");
- fprintf (stdout, " -d, --decode Verify CRC32 value for the input file.\n");
- fprintf (stdout, " -v, --verbose Turn on verbose output with informational messages.\n");
- fprintf (stdout, " -q, --quiet Disable all messages except key message and fatal error\n");
- fprintf (stdout, " --debug level Enable debug messages, at input debug level.\n");
- fprintf (stdout, " --version Show program's version number and exit.\n");
- fprintf (stdout, " -h, --help Show this help message and exit.\n");
+ fprintf (stdout, "optional arguments:\n");
+ fprintf (stdout, " -h, --help Show this help message and exit\n");
+ fprintf (stdout, " --version Show program's version number and exit\n");
+ fprintf (stdout, " --debug [DEBUG] Output DEBUG statements, where DEBUG_LEVEL is 0 (min)\n\
+ - 9 (max)\n");
+ fprintf (stdout, " -v, --verbose Print informational statements\n");
+ fprintf (stdout, " -q, --quiet Returns the exit code, error messages will be\n\
+ displayed\n");
+ fprintf (stdout, " -s, --silent Returns only the exit code; informational and error\n\
+ messages are not displayed\n");
+ fprintf (stdout, " -e, --encode Calculate CRC32 value for the input file\n");
+ fprintf (stdout, " -d, --decode Verify CRC32 value for the input file\n");
+ fprintf (stdout, " -o OUTPUT_FILENAME, --output OUTPUT_FILENAME\n\
+ Output file name\n");
+ fprintf (stdout, " --sfo Reserved for future use\n");
+
}
int
@@ -164,7 +170,6 @@
argv ++;
if ((stricmp (argv[0], "-h") == 0) || (stricmp (argv[0], "--help") == 0)) {
- Version ();
Usage ();
return STATUS_SUCCESS;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jlj...@us...> - 2013-02-14 23:47:10
|
Revision: 2572
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2572&view=rev
Author: jljusten
Date: 2013-02-14 23:46:59 +0000 (Thu, 14 Feb 2013)
Log Message:
-----------
BaseTools: Add Contributions.txt and License.txt files
Contributions.txt documents the contribution process for all
tianocore projects. The conents of Contributions.txt should
match in all cases.
License.txt is a per-project document showing the license terms
used by that project.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jor...@in...>
Added Paths:
-----------
trunk/BaseTools/Contributions.txt
trunk/BaseTools/License.txt
Added: trunk/BaseTools/Contributions.txt
===================================================================
--- trunk/BaseTools/Contributions.txt (rev 0)
+++ trunk/BaseTools/Contributions.txt 2013-02-14 23:46:59 UTC (rev 2572)
@@ -0,0 +1,188 @@
+
+======================
+= Code Contributions =
+======================
+
+To make a contribution to a TianoCore project, follow these steps.
+1. Create a change description in the format specified below to
+ use in the source control commit log.
+2. Your commit message must include your "Signed-off-by" signature,
+ and "Contributed-under" message.
+3. Your "Contributed-under" message explicitly states that the
+ contribution is made under the terms of the specified
+ contribution agreement. Your "Contributed-under" message
+ must include the name of contribution agreement and version.
+ For example: Contributed-under: TianoCore Contribution Agreement 1.0
+ The "TianoCore Contribution Agreement" is included below in
+ this document.
+4. Submit your code to the TianoCore project using the process
+ that the project documents on its web page. If the process is
+ not documented, then submit the code on development email list
+ for the project.
+
+=======================================
+= Change Description / Commit Message =
+=======================================
+
+Your change description should use the standard format for a
+commit message, and must include your "Signed-off-by" signature
+and the "Contributed-under" message.
+
+== Sample Change Description / Commit Message =
+
+=== Definitions for sample change description ===
+
+* "CodeModule" is a short idenfier for the affected code. For
+ example MdePkg, or MdeModulePkg UsbBusDxe.
+* "Brief-single-line-summary" is a short summary of the change.
+* The entire first line should be less than ~70 characters.
+* "Full-commit-message" a verbose multiple line comment describing
+ the change. Each line should be less than ~70 characters.
+* "Contributed-under" explicitely states that the contribution is
+ made under the terms of the contribtion agreement. This
+ agreement is included below in this document.
+* "Signed-off-by" is the contributor's signature identifying them
+ by their real/legal name and their email address.
+
+=== Start of sample change description / commit message ===
+CodeModule: Brief-single-line-summary
+
+Full-commit-message
+
+Contributed-under: TianoCore Contribution Agreement 1.0
+Signed-off-by: Contributor Name <con...@em...>
+=== End of sample change description / commit message ===
+
+========================================
+= TianoCore Contribution Agreement 1.0 =
+========================================
+
+INTEL CORPORATION ("INTEL") MAKES AVAILABLE SOFTWARE, DOCUMENTATION,
+INFORMATION AND/OR OTHER MATERIALS FOR USE IN THE TIANOCORE OPEN SOURCE
+PROJECT (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE
+TERMS AND CONDITIONS OF THIS AGREEMENT BETWEEN YOU AND INTEL AND/OR THE
+TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR
+REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE
+CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS
+OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
+BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS
+AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE
+AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT
+USE THE CONTENT.
+
+Unless otherwise indicated, all Content made available on the TianoCore
+site is provided to you under the terms and conditions of the BSD
+License ("BSD"). A copy of the BSD License is available at
+http://opensource.org/licenses/bsd-license.php
+or when applicable, in the associated License.txt file.
+
+Certain other content may be made available under other licenses as
+indicated in or with such Content. (For example, in a License.txt file.)
+
+You accept and agree to the following terms and conditions for Your
+present and future Contributions submitted to TianoCore site. Except
+for the license granted to Intel hereunder, You reserve all right,
+title, and interest in and to Your Contributions.
+
+== SECTION 1: Definitions ==
+* "You" or "Contributor" shall mean the copyright owner or legal
+ entity authorized by the copyright owner that is making a
+ Contribution hereunder. All other entities that control, are
+ controlled by, or are under common control with that entity are
+ considered to be a single Contributor. For the purposes of this
+ definition, "control" means (i) the power, direct or indirect, to
+ cause the direction or management of such entity, whether by
+ contract or otherwise, or (ii) ownership of fifty percent (50%)
+ or more of the outstanding shares, or (iii) beneficial ownership
+ of such entity.
+* "Contribution" shall mean any original work of authorship,
+ including any modifications or additions to an existing work,
+ that is intentionally submitted by You to the TinaoCore site for
+ inclusion in, or documentation of, any of the Content. For the
+ purposes of this definition, "submitted" means any form of
+ electronic, verbal, or written communication sent to the
+ TianoCore site or its representatives, including but not limited
+ to communication on electronic mailing lists, source code
+ control systems, and issue tracking systems that are managed by,
+ or on behalf of, the TianoCore site for the purpose of
+ discussing and improving the Content, but excluding
+ communication that is conspicuously marked or otherwise
+ designated in writing by You as "Not a Contribution."
+
+== SECTION 2: License for Contributions ==
+* Contributor hereby agrees that redistribution and use of the
+ Contribution in source and binary forms, with or without
+ modification, are permitted provided that the following
+ conditions are met:
+** Redistributions of source code must retain the Contributor's
+ copyright notice, this list of conditions and the following
+ disclaimer.
+** Redistributions in binary form must reproduce the Contributor's
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+* Disclaimer. None of the names of Contributor, Intel, or the names
+ of their respective contributors may be used to endorse or
+ promote products derived from this software without specific
+ prior written permission.
+* Contributor grants a license (with the right to sublicense) under
+ claims of Contributor's patents that Contributor can license that
+ are infringed by the Contribution (as delivered by Contributor) to
+ make, use, distribute, sell, offer for sale, and import the
+ Contribution and derivative works thereof solely to the minimum
+ extent necessary for licensee to exercise the granted copyright
+ license; this patent license applies solely to those portions of
+ the Contribution that are unmodified. No hardware per se is
+ licensed.
+* EXCEPT AS EXPRESSLY SET FORTH IN SECTION 3 BELOW, THE
+ CONTRIBUTION IS PROVIDED BY THE CONTRIBUTOR "AS IS" AND ANY
+ EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ CONTRIBUTOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
+ CONTRIBUTION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ DAMAGE.
+
+== SECTION 3: Representations ==
+* You represent that You are legally entitled to grant the above
+ license. If your employer(s) has rights to intellectual property
+ that You create that includes Your Contributions, You represent
+ that You have received permission to make Contributions on behalf
+ of that employer, that Your employer has waived such rights for
+ Your Contributions.
+* You represent that each of Your Contributions is Your original
+ creation (see Section 4 for submissions on behalf of others).
+ You represent that Your Contribution submissions include complete
+ details of any third-party license or other restriction
+ (including, but not limited to, related patents and trademarks)
+ of which You are personally aware and which are associated with
+ any part of Your Contributions.
+
+== SECTION 4: Third Party Contributions ==
+* Should You wish to submit work that is not Your original creation,
+ You may submit it to TianoCore site separately from any
+ Contribution, identifying the complete details of its source
+ and of any license or other restriction (including, but not
+ limited to, related patents, trademarks, and license agreements)
+ of which You are personally aware, and conspicuously marking the
+ work as "Submitted on behalf of a third-party: [named here]".
+
+== SECTION 5: Miscellaneous ==
+* Applicable Laws. Any claims arising under or relating to this
+ Agreement shall be governed by the internal substantive laws of
+ the State of Delaware or federal courts located in Delaware,
+ without regard to principles of conflict of laws.
+* Language. This Agreement is in the English language only, which
+ language shall be controlling in all respects, and all versions
+ of this Agreement in any other language shall be for accommodation
+ only and shall not be binding. All communications and notices made
+ or given pursuant to this Agreement, and all documentation and
+ support to be provided, unless otherwise noted, shall be in the
+ English language.
+
Added: trunk/BaseTools/License.txt
===================================================================
--- trunk/BaseTools/License.txt (rev 0)
+++ trunk/BaseTools/License.txt 2013-02-14 23:46:59 UTC (rev 2572)
@@ -0,0 +1,25 @@
+Copyright (c) 2013, Intel Corporation. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+* Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yd...@us...> - 2013-02-06 02:09:38
|
Revision: 2571
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2571&view=rev
Author: ydong10
Date: 2013-02-06 02:09:31 +0000 (Wed, 06 Feb 2013)
Log Message:
-----------
Add code to allocate buffer for numeric opcode before end opcode to avoid ifr data error.
Signed-off-by: Eric Dong <eri...@in...>
Reviewed-by: Liming Gao <lim...@in...>
Modified Paths:
--------------
trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp
trunk/BaseTools/Source/C/VfrCompile/VfrSyntax.g
Modified: trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp
===================================================================
--- trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp 2013-01-25 06:09:07 UTC (rev 2570)
+++ trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp 2013-02-06 02:09:31 UTC (rev 2571)
@@ -803,6 +803,7 @@
CHAR8 FName[MAX_NAME_LEN];
CHAR8 *SName;
CHAR8 *NewStr;
+ UINT32 ShrinkSize;
EFI_VFR_RETURN_CODE ReturnCode;
EFI_VFR_VARSTORE_TYPE VarStoreType = EFI_VFR_VARSTORE_INVALID;
EFI_VARSTORE_ID VarStoreId = EFI_VARSTORE_ID_INVALID;
@@ -823,7 +824,7 @@
if (pNode->mFlag == PENDING) {
CIfrNumeric CNObj;
EFI_VARSTORE_INFO Info;
- EFI_QUESTION_ID QId = EFI_QUESTION_ID_INVALID;
+ EFI_QUESTION_ID QId = EFI_QUESTION_ID_INVALID;
CNObj.SetLineNo (LineNo);
CNObj.SetPrompt (0x0);
@@ -913,19 +914,24 @@
switch (Info.mVarType) {
case EFI_IFR_TYPE_NUM_SIZE_64:
CNObj.SetMinMaxStepData ((UINT64) 0, (UINT64) -1 , (UINT64) 0);
+ ShrinkSize = 0;
break;
case EFI_IFR_TYPE_NUM_SIZE_32:
CNObj.SetMinMaxStepData ((UINT32) 0, (UINT32) -1 , (UINT32) 0);
+ ShrinkSize = 12;
break;
case EFI_IFR_TYPE_NUM_SIZE_16:
CNObj.SetMinMaxStepData ((UINT16) 0, (UINT16) -1 , (UINT16) 0);
+ ShrinkSize = 18;
break;
case EFI_IFR_TYPE_NUM_SIZE_8:
CNObj.SetMinMaxStepData ((UINT8) 0, (UINT8) -1 , (UINT8) 0);
+ ShrinkSize = 21;
break;
default:
break;
}
+ CNObj.ShrinkBinSize (ShrinkSize);
//
// For undefined Efi VarStore type question
@@ -935,7 +941,7 @@
CIfrVarEqName CVNObj (QId, Info.mInfo.mVarName);
CVNObj.SetLineNo (LineNo);
}
-
+
//
// End for Numeric
//
@@ -1236,6 +1242,18 @@
return pNode;
}
+/*
+ Add just the op code position.
+
+ From
+
+ | form end opcode + end of if opcode for form ... + Dynamic opcode + form set end opcode |
+
+ To
+
+ | Dynamic opcode + form end opcode + end of if opcode for form ... + form set end opcode |
+
+*/
BOOLEAN
CIfrRecordInfoDB::IfrAdjustDynamicOpcodeInRecords (
VOID
Modified: trunk/BaseTools/Source/C/VfrCompile/VfrSyntax.g
===================================================================
--- trunk/BaseTools/Source/C/VfrCompile/VfrSyntax.g 2013-01-25 06:09:07 UTC (rev 2570)
+++ trunk/BaseTools/Source/C/VfrCompile/VfrSyntax.g 2013-02-06 02:09:31 UTC (rev 2571)
@@ -604,6 +604,10 @@
CRT_END_OP (E);
+ //
+ // Adjust the pending question position.
+ // Move the position from current to before the end of the last form in the form set.
+ //
if (gNeedAdjustOpcode) {
gCFormPkg.AdjustDynamicInsertOpcode (
mLastFormEndAddr,
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yi...@us...> - 2013-01-25 06:09:16
|
Revision: 2570
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2570&view=rev
Author: yingke
Date: 2013-01-25 06:09:07 +0000 (Fri, 25 Jan 2013)
Log Message:
-----------
1. The EFI files with section type PE or PE32 are stripped if RELOCS_STRIPPED is present at FILE statement scope in FV section of FDF;
2. Correct version type (0x14) for VERSION section in FILE statement.
Modified Paths:
--------------
trunk/BaseTools/Source/Python/GenFds/FdfParser.py
trunk/BaseTools/Source/Python/GenFds/FfsFileStatement.py
trunk/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py
trunk/BaseTools/Source/Python/GenFds/VerSection.py
Modified: trunk/BaseTools/Source/Python/GenFds/FdfParser.py
===================================================================
--- trunk/BaseTools/Source/Python/GenFds/FdfParser.py 2013-01-22 05:43:53 UTC (rev 2569)
+++ trunk/BaseTools/Source/Python/GenFds/FdfParser.py 2013-01-25 06:09:07 UTC (rev 2570)
@@ -2503,16 +2503,16 @@
self.__GetFileOpts( FfsFileObj)
if not self.__IsToken("{"):
-# if self.__IsKeyword('RELOCS_STRIPPED') or self.__IsKeyword('RELOCS_RETAINED'):
-# if self.__FileCouldHaveRelocFlag(FfsFileObj.FvFileType):
-# if self.__Token == 'RELOCS_STRIPPED':
-# FfsFileObj.KeepReloc = False
-# else:
-# FfsFileObj.KeepReloc = True
-# else:
-# raise Warning("File type %s could not have reloc strip flag%d" % (FfsFileObj.FvFileType, self.CurrentLineNumber), self.FileName, self.CurrentLineNumber)
-#
-# if not self.__IsToken("{"):
+ if self.__IsKeyword('RELOCS_STRIPPED') or self.__IsKeyword('RELOCS_RETAINED'):
+ if self.__FileCouldHaveRelocFlag(FfsFileObj.FvFileType):
+ if self.__Token == 'RELOCS_STRIPPED':
+ FfsFileObj.KeepReloc = False
+ else:
+ FfsFileObj.KeepReloc = True
+ else:
+ raise Warning("File type %s could not have reloc strip flag%d" % (FfsFileObj.FvFileType, self.CurrentLineNumber), self.FileName, self.CurrentLineNumber)
+
+ if not self.__IsToken("{"):
raise Warning("expected '{'", self.FileName, self.CurrentLineNumber)
if not self.__GetNextToken():
Modified: trunk/BaseTools/Source/Python/GenFds/FfsFileStatement.py
===================================================================
--- trunk/BaseTools/Source/Python/GenFds/FfsFileStatement.py 2013-01-22 05:43:53 UTC (rev 2569)
+++ trunk/BaseTools/Source/Python/GenFds/FfsFileStatement.py 2013-01-25 06:09:07 UTC (rev 2570)
@@ -110,6 +110,8 @@
if FvParentAddr != None and isinstance(section, GuidSection):
section.FvParentAddr = FvParentAddr
+ if self.KeepReloc == False:
+ section.KeepReloc = False
sectList, align = section.GenSection(OutputDir, self.NameGuid, SecIndex, self.KeyStringList, None, Dict)
if sectList != []:
for sect in sectList:
Modified: trunk/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py
===================================================================
--- trunk/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py 2013-01-22 05:43:53 UTC (rev 2569)
+++ trunk/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py 2013-01-25 06:09:07 UTC (rev 2570)
@@ -345,7 +345,7 @@
@staticmethod
def GenerateSection(Output, Input, Type=None, CompressionType=None, Guid=None,
- GuidHdrLen=None, GuidAttr=[], Ui=None, Ver=None, InputAlign=None):
+ GuidHdrLen=None, GuidAttr=[], Ui=None, Ver=None, InputAlign=None, BuildNumber=None):
Cmd = ["GenSec"]
if Type not in [None, '']:
Cmd += ["-s", Type]
@@ -374,14 +374,11 @@
GenFdsGlobalVariable.SectionHeader.pack_into(SectionData, 0, Len & 0xff, (Len >> 8) & 0xff, (Len >> 16) & 0xff, 0x15)
SaveFileOnChange(Output, SectionData.tostring())
elif Ver not in [None, '']:
- #Cmd += ["-j", Ver]
- SectionData = array.array('B', [0,0,0,0])
- SectionData.fromstring(Ver.encode("utf_16_le"))
- SectionData.append(0)
- SectionData.append(0)
- Len = len(SectionData)
- GenFdsGlobalVariable.SectionHeader.pack_into(SectionData, 0, Len & 0xff, (Len >> 8) & 0xff, (Len >> 16) & 0xff, 0x14)
- SaveFileOnChange(Output, SectionData.tostring())
+ Cmd += ["-n", Ver]
+ if BuildNumber:
+ Cmd += ["-j", BuildNumber]
+ Cmd += ["-o", Output]
+ GenFdsGlobalVariable.CallExternalTool(Cmd, "Failed to generate section")
else:
Cmd += ["-o", Output]
Cmd += Input
Modified: trunk/BaseTools/Source/Python/GenFds/VerSection.py
===================================================================
--- trunk/BaseTools/Source/Python/GenFds/VerSection.py 2013-01-22 05:43:53 UTC (rev 2569)
+++ trunk/BaseTools/Source/Python/GenFds/VerSection.py 2013-01-25 06:09:07 UTC (rev 2570)
@@ -76,7 +76,7 @@
StringData = ''
GenFdsGlobalVariable.GenerateSection(OutputFile, None, 'EFI_SECTION_VERSION',
- Ui=StringData, Ver=self.BuildNum)
+ Ver=StringData, BuildNumber=self.BuildNum)
OutputFileList = []
OutputFileList.append(OutputFile)
return OutputFileList, self.Alignment
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yd...@us...> - 2013-01-22 05:44:01
|
Revision: 2569
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2569&view=rev
Author: ydong10
Date: 2013-01-22 05:43:53 +0000 (Tue, 22 Jan 2013)
Log Message:
-----------
For date/Time/Ref opcode, base on name or varid field to generate questions.
Signed-off-by: Eric Dong <eri...@in...>
Reviewed-by: Liming Gao <lim...@in...>
Modified Paths:
--------------
trunk/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp
Modified: trunk/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp
===================================================================
--- trunk/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp 2013-01-16 02:06:12 UTC (rev 2568)
+++ trunk/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp 2013-01-22 05:43:53 UTC (rev 2569)
@@ -2622,27 +2622,47 @@
CHAR8 *VarIdStr[3] = {NULL, };
CHAR8 Index;
- if (BaseVarId == NULL) {
+ if (BaseVarId == NULL && Name == NULL) {
return;
}
- Len = strlen (BaseVarId);
+ if (BaseVarId != NULL) {
+ Len = strlen (BaseVarId);
- VarIdStr[0] = new CHAR8[Len + strlen (".Year") + 1];
- if (VarIdStr[0] != NULL) {
- strcpy (VarIdStr[0], BaseVarId);
- strcat (VarIdStr[0], ".Year");
+ VarIdStr[0] = new CHAR8[Len + strlen (".Year") + 1];
+ if (VarIdStr[0] != NULL) {
+ strcpy (VarIdStr[0], BaseVarId);
+ strcat (VarIdStr[0], ".Year");
+ }
+ VarIdStr[1] = new CHAR8[Len + strlen (".Month") + 1];
+ if (VarIdStr[1] != NULL) {
+ strcpy (VarIdStr[1], BaseVarId);
+ strcat (VarIdStr[1], ".Month");
+ }
+ VarIdStr[2] = new CHAR8[Len + strlen (".Day") + 1];
+ if (VarIdStr[2] != NULL) {
+ strcpy (VarIdStr[2], BaseVarId);
+ strcat (VarIdStr[2], ".Day");
+ }
+ } else {
+ Len = strlen (Name);
+
+ VarIdStr[0] = new CHAR8[Len + strlen (".Year") + 1];
+ if (VarIdStr[0] != NULL) {
+ strcpy (VarIdStr[0], Name);
+ strcat (VarIdStr[0], ".Year");
+ }
+ VarIdStr[1] = new CHAR8[Len + strlen (".Month") + 1];
+ if (VarIdStr[1] != NULL) {
+ strcpy (VarIdStr[1], Name);
+ strcat (VarIdStr[1], ".Month");
+ }
+ VarIdStr[2] = new CHAR8[Len + strlen (".Day") + 1];
+ if (VarIdStr[2] != NULL) {
+ strcpy (VarIdStr[2], Name);
+ strcat (VarIdStr[2], ".Day");
+ }
}
- VarIdStr[1] = new CHAR8[Len + strlen (".Month") + 1];
- if (VarIdStr[1] != NULL) {
- strcpy (VarIdStr[1], BaseVarId);
- strcat (VarIdStr[1], ".Month");
- }
- VarIdStr[2] = new CHAR8[Len + strlen (".Day") + 1];
- if (VarIdStr[2] != NULL) {
- strcpy (VarIdStr[2], BaseVarId);
- strcat (VarIdStr[2], ".Day");
- }
if ((pNode[0] = new SVfrQuestionNode (Name, VarIdStr[0], DATE_YEAR_BITMASK)) == NULL) {
goto Err;
@@ -2770,27 +2790,47 @@
CHAR8 *VarIdStr[3] = {NULL, };
CHAR8 Index;
- if (BaseVarId == NULL) {
+ if (BaseVarId == NULL && Name == NULL) {
return;
}
- Len = strlen (BaseVarId);
+ if (BaseVarId != NULL) {
+ Len = strlen (BaseVarId);
- VarIdStr[0] = new CHAR8[Len + strlen (".Hour") + 1];
- if (VarIdStr[0] != NULL) {
- strcpy (VarIdStr[0], BaseVarId);
- strcat (VarIdStr[0], ".Hour");
+ VarIdStr[0] = new CHAR8[Len + strlen (".Hour") + 1];
+ if (VarIdStr[0] != NULL) {
+ strcpy (VarIdStr[0], BaseVarId);
+ strcat (VarIdStr[0], ".Hour");
+ }
+ VarIdStr[1] = new CHAR8[Len + strlen (".Minute") + 1];
+ if (VarIdStr[1] != NULL) {
+ strcpy (VarIdStr[1], BaseVarId);
+ strcat (VarIdStr[1], ".Minute");
+ }
+ VarIdStr[2] = new CHAR8[Len + strlen (".Second") + 1];
+ if (VarIdStr[2] != NULL) {
+ strcpy (VarIdStr[2], BaseVarId);
+ strcat (VarIdStr[2], ".Second");
+ }
+ } else {
+ Len = strlen (Name);
+
+ VarIdStr[0] = new CHAR8[Len + strlen (".Hour") + 1];
+ if (VarIdStr[0] != NULL) {
+ strcpy (VarIdStr[0], Name);
+ strcat (VarIdStr[0], ".Hour");
+ }
+ VarIdStr[1] = new CHAR8[Len + strlen (".Minute") + 1];
+ if (VarIdStr[1] != NULL) {
+ strcpy (VarIdStr[1], Name);
+ strcat (VarIdStr[1], ".Minute");
+ }
+ VarIdStr[2] = new CHAR8[Len + strlen (".Second") + 1];
+ if (VarIdStr[2] != NULL) {
+ strcpy (VarIdStr[2], Name);
+ strcat (VarIdStr[2], ".Second");
+ }
}
- VarIdStr[1] = new CHAR8[Len + strlen (".Minute") + 1];
- if (VarIdStr[1] != NULL) {
- strcpy (VarIdStr[1], BaseVarId);
- strcat (VarIdStr[1], ".Minute");
- }
- VarIdStr[2] = new CHAR8[Len + strlen (".Second") + 1];
- if (VarIdStr[2] != NULL) {
- strcpy (VarIdStr[2], BaseVarId);
- strcat (VarIdStr[2], ".Second");
- }
if ((pNode[0] = new SVfrQuestionNode (Name, VarIdStr[0], TIME_HOUR_BITMASK)) == NULL) {
goto Err;
@@ -2858,32 +2898,57 @@
CHAR8 *VarIdStr[4] = {NULL, };
CHAR8 Index;
- if (BaseVarId == NULL) {
+ if (BaseVarId == NULL && Name == NULL) {
return;
}
- Len = strlen (BaseVarId);
+ if (BaseVarId != NULL) {
+ Len = strlen (BaseVarId);
- VarIdStr[0] = new CHAR8[Len + strlen (".QuestionId") + 1];
- if (VarIdStr[0] != NULL) {
- strcpy (VarIdStr[0], BaseVarId);
- strcat (VarIdStr[0], ".QuestionId");
+ VarIdStr[0] = new CHAR8[Len + strlen (".QuestionId") + 1];
+ if (VarIdStr[0] != NULL) {
+ strcpy (VarIdStr[0], BaseVarId);
+ strcat (VarIdStr[0], ".QuestionId");
+ }
+ VarIdStr[1] = new CHAR8[Len + strlen (".FormId") + 1];
+ if (VarIdStr[1] != NULL) {
+ strcpy (VarIdStr[1], BaseVarId);
+ strcat (VarIdStr[1], ".FormId");
+ }
+ VarIdStr[2] = new CHAR8[Len + strlen (".FormSetGuid") + 1];
+ if (VarIdStr[2] != NULL) {
+ strcpy (VarIdStr[2], BaseVarId);
+ strcat (VarIdStr[2], ".FormSetGuid");
+ }
+ VarIdStr[3] = new CHAR8[Len + strlen (".DevicePath") + 1];
+ if (VarIdStr[3] != NULL) {
+ strcpy (VarIdStr[3], BaseVarId);
+ strcat (VarIdStr[3], ".DevicePath");
+ }
+ } else {
+ Len = strlen (Name);
+
+ VarIdStr[0] = new CHAR8[Len + strlen (".QuestionId") + 1];
+ if (VarIdStr[0] != NULL) {
+ strcpy (VarIdStr[0], Name);
+ strcat (VarIdStr[0], ".QuestionId");
+ }
+ VarIdStr[1] = new CHAR8[Len + strlen (".FormId") + 1];
+ if (VarIdStr[1] != NULL) {
+ strcpy (VarIdStr[1], Name);
+ strcat (VarIdStr[1], ".FormId");
+ }
+ VarIdStr[2] = new CHAR8[Len + strlen (".FormSetGuid") + 1];
+ if (VarIdStr[2] != NULL) {
+ strcpy (VarIdStr[2], Name);
+ strcat (VarIdStr[2], ".FormSetGuid");
+ }
+ VarIdStr[3] = new CHAR8[Len + strlen (".DevicePath") + 1];
+ if (VarIdStr[3] != NULL) {
+ strcpy (VarIdStr[3], Name);
+ strcat (VarIdStr[3], ".DevicePath");
+ }
}
- VarIdStr[1] = new CHAR8[Len + strlen (".FormId") + 1];
- if (VarIdStr[1] != NULL) {
- strcpy (VarIdStr[1], BaseVarId);
- strcat (VarIdStr[1], ".FormId");
- }
- VarIdStr[2] = new CHAR8[Len + strlen (".FormSetGuid") + 1];
- if (VarIdStr[2] != NULL) {
- strcpy (VarIdStr[2], BaseVarId);
- strcat (VarIdStr[2], ".FormSetGuid");
- }
- VarIdStr[3] = new CHAR8[Len + strlen (".DevicePath") + 1];
- if (VarIdStr[3] != NULL) {
- strcpy (VarIdStr[3], BaseVarId);
- strcat (VarIdStr[3], ".DevicePath");
- }
if ((pNode[0] = new SVfrQuestionNode (Name, VarIdStr[0])) == NULL) {
goto Err;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yd...@us...> - 2013-01-16 02:06:21
|
Revision: 2568
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2568&view=rev
Author: ydong10
Date: 2013-01-16 02:06:12 +0000 (Wed, 16 Jan 2013)
Log Message:
-----------
Refine the logic, based on the varstore name and guid to find a varstore, old logic only base on name to find it.
Signed-off-by: Eric Dong <eri...@in...>
Reviewed-by: Liming Gao <lim...@in...>
Modified Paths:
--------------
trunk/BaseTools/Source/C/VfrCompile/VfrError.cpp
trunk/BaseTools/Source/C/VfrCompile/VfrError.h
trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp
trunk/BaseTools/Source/C/VfrCompile/VfrSyntax.g
trunk/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp
trunk/BaseTools/Source/C/VfrCompile/VfrUtilityLib.h
Modified: trunk/BaseTools/Source/C/VfrCompile/VfrError.cpp
===================================================================
--- trunk/BaseTools/Source/C/VfrCompile/VfrError.cpp 2013-01-08 07:39:52 UTC (rev 2567)
+++ trunk/BaseTools/Source/C/VfrCompile/VfrError.cpp 2013-01-16 02:06:12 UTC (rev 2568)
@@ -2,7 +2,7 @@
VfrCompiler error handler.
-Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -45,6 +45,7 @@
{ VFR_RETURN_DATA_STRING_ERROR, ": data field string error or not support"},
{ VFR_RETURN_DEFAULT_VALUE_REDEFINED, ": default value re-defined with different value"},
{ VFR_RETURN_CONSTANT_ONLY, ": only constant is allowed in the expression"},
+ { VFR_RETURN_VARSTORE_NAME_REDEFINED_ERROR, ": Varstore name is defined by more than one varstores, it can't be referred as varstore, only varstore strucure name could be used."},
{ VFR_RETURN_CODEUNDEFINED, ": undefined Error Code" }
};
Modified: trunk/BaseTools/Source/C/VfrCompile/VfrError.h
===================================================================
--- trunk/BaseTools/Source/C/VfrCompile/VfrError.h 2013-01-08 07:39:52 UTC (rev 2567)
+++ trunk/BaseTools/Source/C/VfrCompile/VfrError.h 2013-01-16 02:06:12 UTC (rev 2568)
@@ -2,7 +2,7 @@
VfrCompiler Error definition
-Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -43,6 +43,7 @@
VFR_RETURN_DATA_STRING_ERROR,
VFR_RETURN_DEFAULT_VALUE_REDEFINED,
VFR_RETURN_CONSTANT_ONLY,
+ VFR_RETURN_VARSTORE_NAME_REDEFINED_ERROR,
VFR_RETURN_CODEUNDEFINED
} EFI_VFR_RETURN_CODE;
Modified: trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp
===================================================================
--- trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp 2013-01-08 07:39:52 UTC (rev 2567)
+++ trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp 2013-01-16 02:06:12 UTC (rev 2568)
@@ -2,7 +2,7 @@
The definition of CFormPkg's member function
-Copyright (c) 2004 - 2012, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -805,6 +805,7 @@
CHAR8 *NewStr;
EFI_VFR_RETURN_CODE ReturnCode;
EFI_VFR_VARSTORE_TYPE VarStoreType = EFI_VFR_VARSTORE_INVALID;
+ EFI_VARSTORE_ID VarStoreId = EFI_VARSTORE_ID_INVALID;
//
// Declare all questions as Numeric in DisableIf True
@@ -852,7 +853,7 @@
//
// Get VarStoreType
//
- ReturnCode = lCVfrDataStorage.GetVarStoreType (FName, VarStoreType);
+ ReturnCode = lCVfrDataStorage.GetVarStoreId (FName, &Info.mVarStoreId);
if (ReturnCode == VFR_RETURN_UNDEFINED) {
lCVfrDataStorage.DeclareBufferVarStore (
FName,
@@ -862,18 +863,13 @@
EFI_VARSTORE_ID_INVALID,
FALSE
);
- ReturnCode = lCVfrDataStorage.GetVarStoreType (FName, VarStoreType);
+ ReturnCode = lCVfrDataStorage.GetVarStoreId (FName, &Info.mVarStoreId, LocalFormSetGuid);
}
if (ReturnCode != VFR_RETURN_SUCCESS) {
gCVfrErrorHandle.PrintMsg (pNode->mLineNo, FName, "Error", "Var Store Type is not defined");
return ReturnCode;
}
-
- ReturnCode = lCVfrDataStorage.GetVarStoreId (FName, &Info.mVarStoreId);
- if (ReturnCode != VFR_RETURN_SUCCESS) {
- gCVfrErrorHandle.PrintMsg (pNode->mLineNo, FName, "Error", "Var Store Type is not defined");
- return ReturnCode;
- }
+ VarStoreType = lCVfrDataStorage.GetVarStoreType (Info.mVarStoreId);
if (*VarStr == '\0' && ArrayIdx != INVALID_ARRAY_INDEX) {
ReturnCode = lCVfrDataStorage.GetNameVarStoreInfo (&Info, ArrayIdx);
@@ -883,7 +879,7 @@
} else if (VarStoreType == EFI_VFR_VARSTORE_BUFFER) {
VarStr = pNode->mKey;
//convert VarStr with store name to VarStr with structure name
- ReturnCode = lCVfrDataStorage.GetBufferVarStoreDataTypeName (FName, &SName);
+ ReturnCode = lCVfrDataStorage.GetBufferVarStoreDataTypeName (Info.mVarStoreId, &SName);
if (ReturnCode == VFR_RETURN_SUCCESS) {
NewStr = new CHAR8[strlen (VarStr) + strlen (SName) + 1];
NewStr[0] = '\0';
Modified: trunk/BaseTools/Source/C/VfrCompile/VfrSyntax.g
===================================================================
--- trunk/BaseTools/Source/C/VfrCompile/VfrSyntax.g 2013-01-08 07:39:52 UTC (rev 2567)
+++ trunk/BaseTools/Source/C/VfrCompile/VfrSyntax.g 2013-01-16 02:06:12 UTC (rev 2568)
@@ -894,7 +894,7 @@
VarStoreId
), LineNum);
VSObj.SetGuid (&Guid);
- _PCATCH(mCVfrDataStorage.GetVarStoreId(StoreName, &VarStoreId), SN);
+ _PCATCH(mCVfrDataStorage.GetVarStoreId(StoreName, &VarStoreId, &Guid), SN);
VSObj.SetVarStoreId (VarStoreId);
_PCATCH(gCVfrVarDataTypeDB.GetDataTypeSize(TypeName, &Size), LineNum);
VSObj.SetSize ((UINT16) Size);
@@ -980,7 +980,7 @@
TypeName,
VarStoreId
), LineNum);
- _PCATCH(mCVfrDataStorage.GetVarStoreId(StoreName, &VarStoreId), SN);
+ _PCATCH(mCVfrDataStorage.GetVarStoreId(StoreName, &VarStoreId, &Guid), SN);
_PCATCH(gCVfrVarDataTypeDB.GetDataTypeSize(TypeName, &Size), LineNum);
} else {
_PCATCH(mCVfrDataStorage.DeclareBufferVarStore (
@@ -990,7 +990,7 @@
TypeName,
VarStoreId
), LineNum);
- _PCATCH(mCVfrDataStorage.GetVarStoreId(TN->getText(), &VarStoreId), VN);
+ _PCATCH(mCVfrDataStorage.GetVarStoreId(TN->getText(), &VarStoreId, &Guid), VN);
_PCATCH(gCVfrVarDataTypeDB.GetDataTypeSize(TypeName, &Size), N->getLine());
}
VSEObj.SetGuid (&Guid);
@@ -1023,7 +1023,7 @@
Uuid "=" guidDefinition[Guid] << _PCATCH(mCVfrDataStorage.DeclareNameVarStoreEnd (&Guid), SN); >>
<<
VSNVObj.SetGuid (&Guid);
- _PCATCH(mCVfrDataStorage.GetVarStoreId(SN->getText(), &VarStoreId), SN);
+ _PCATCH(mCVfrDataStorage.GetVarStoreId(SN->getText(), &VarStoreId, &Guid), SN);
VSNVObj.SetVarStoreId (VarStoreId);
>>
";"
@@ -1176,6 +1176,7 @@
CHAR8 *TName = NULL;
EFI_VFR_RETURN_CODE VfrReturnCode = VFR_RETURN_SUCCESS;
EFI_IFR_TYPE_VALUE Dummy = gZeroEfiIfrTypeValue;
+ EFI_GUID *VarGuid = NULL;
>>
(
SN1:StringIdentifier << SName = SN1->getText(); _STRCAT(&VarIdStr, SN1->getText()); >>
@@ -1186,7 +1187,7 @@
_STRCAT(&VarIdStr, "]");
>>
<<
- VfrReturnCode = mCVfrDataStorage.GetVarStoreType (SName, VarStoreType);
+ VfrReturnCode = mCVfrDataStorage.GetVarStoreId(SName, &$Info.mVarStoreId);
if (mCompatibleMode && VfrReturnCode == VFR_RETURN_UNDEFINED) {
mCVfrDataStorage.DeclareBufferVarStore (
SName,
@@ -1196,11 +1197,10 @@
EFI_VARSTORE_ID_INVALID,
FALSE
);
- VfrReturnCode = mCVfrDataStorage.GetVarStoreType (SName, VarStoreType);
+ VfrReturnCode = mCVfrDataStorage.GetVarStoreId(SName, &$Info.mVarStoreId, &mFormsetGuid);
}
if (CheckFlag || VfrReturnCode == VFR_RETURN_SUCCESS) {
_PCATCH(VfrReturnCode, SN1);
- _PCATCH(mCVfrDataStorage.GetVarStoreId (SName, &$Info.mVarStoreId), SN1);
_PCATCH(mCVfrDataStorage.GetNameVarStoreInfo (&$Info, Idx), SN1);
}
@@ -1211,7 +1211,7 @@
(
SN2:StringIdentifier << SName = SN2->getText(); _STRCAT(&VarIdStr, SName); >>
<<
- VfrReturnCode = mCVfrDataStorage.GetVarStoreType (SName, VarStoreType);
+ VfrReturnCode = mCVfrDataStorage.GetVarStoreId(SName, &$Info.mVarStoreId);
if (mCompatibleMode && VfrReturnCode == VFR_RETURN_UNDEFINED) {
mCVfrDataStorage.DeclareBufferVarStore (
SName,
@@ -1221,13 +1221,13 @@
EFI_VARSTORE_ID_INVALID,
FALSE
);
- VfrReturnCode = mCVfrDataStorage.GetVarStoreType (SName, VarStoreType);
+ VfrReturnCode = mCVfrDataStorage.GetVarStoreId(SName, &$Info.mVarStoreId, &mFormsetGuid);
}
if (CheckFlag || VfrReturnCode == VFR_RETURN_SUCCESS) {
_PCATCH(VfrReturnCode, SN2);
- _PCATCH(mCVfrDataStorage.GetVarStoreId (SName, &$Info.mVarStoreId), SN2);
+ VarStoreType = mCVfrDataStorage.GetVarStoreType ($Info.mVarStoreId);
if (VarStoreType == EFI_VFR_VARSTORE_BUFFER) {
- _PCATCH(mCVfrDataStorage.GetBufferVarStoreDataTypeName(SName, &TName), SN2);
+ _PCATCH(mCVfrDataStorage.GetBufferVarStoreDataTypeName(Info.mVarStoreId, &TName), SN2);
_STRCAT(&VarStr, TName);
}
}
@@ -1266,13 +1266,16 @@
break;
case EFI_VFR_VARSTORE_BUFFER:
_PCATCH(gCVfrVarDataTypeDB.GetDataFieldInfo (VarStr, $Info.mInfo.mVarOffset, $Info.mVarType, $Info.mVarTotalSize), SN2->getLine(), VarStr);
+ VarGuid = mCVfrDataStorage.GetVarStoreGuid($Info.mVarStoreId);
_PCATCH((EFI_VFR_RETURN_CODE)gCVfrBufferConfig.Register (
SName,
+ VarGuid,
NULL),
SN2->getLine());
_PCATCH((EFI_VFR_RETURN_CODE)gCVfrBufferConfig.Write (
'a',
SName,
+ VarGuid,
NULL,
$Info.mVarType,
$Info.mInfo.mVarOffset,
@@ -1477,6 +1480,7 @@
CHAR8 *VarStoreName = NULL;
EFI_VFR_VARSTORE_TYPE VarStoreType = EFI_VFR_VARSTORE_INVALID;
UINT32 Size = 0;
+ EFI_GUID *VarGuid = NULL;
>>
D:Default
(
@@ -1518,14 +1522,16 @@
}
<<
if (_GET_CURRQEST_VARTINFO().mVarStoreId != EFI_VARSTORE_ID_INVALID) {
- _PCATCH(mCVfrDataStorage.GetVarStoreName (_GET_CURRQEST_VARTINFO().mVarStoreId, &VarStoreName), D->getLine());
- _PCATCH(mCVfrDataStorage.GetVarStoreType (VarStoreName, VarStoreType), D->getLine());
- if ((IsExp == FALSE) && (VarStoreType == EFI_VFR_VARSTORE_BUFFER)) {
- _PCATCH(mCVfrDefaultStore.BufferVarStoreAltConfigAdd (
- DefaultId,
- _GET_CURRQEST_VARTINFO(),
- VarStoreName,
- _GET_CURRQEST_DATATYPE (),
+ _PCATCH(mCVfrDataStorage.GetVarStoreName (_GET_CURRQEST_VARTINFO().mVarStoreId, &VarStoreName), D->getLine());
+ VarGuid = mCVfrDataStorage.GetVarStoreGuid(_GET_CURRQEST_VARTINFO().mVarStoreId);
+ VarStoreType = mCVfrDataStorage.GetVarStoreType (_GET_CURRQEST_VARTINFO().mVarStoreId);
+ if ((IsExp == FALSE) && (VarStoreType == EFI_VFR_VARSTORE_BUFFER)) {
+ _PCATCH(mCVfrDefaultStore.BufferVarStoreAltConfigAdd (
+ DefaultId,
+ _GET_CURRQEST_VARTINFO(),
+ VarStoreName,
+ VarGuid,
+ _GET_CURRQEST_DATATYPE (),
Val),
D->getLine()
);
@@ -1870,6 +1876,7 @@
EFI_IFR_TYPE_VALUE Val = gZeroEfiIfrTypeValue;
CHAR8 *VarStoreName = NULL;
UINT32 DataTypeSize;
+ EFI_GUID *VarStoreGuid = NULL;
>>
L:CheckBox << CBObj.SetLineNo(L->getLine()); >>
vfrQuestionHeader[CBObj] "," << //check data type
@@ -1888,6 +1895,7 @@
F:FLAGS "=" vfrCheckBoxFlags[CBObj, F->getLine()] ","
<<
_PCATCH(mCVfrDataStorage.GetVarStoreName (_GET_CURRQEST_VARTINFO().mVarStoreId, &VarStoreName), VFR_RETURN_SUCCESS, L, "Failed to retrieve varstore name");
+ VarStoreGuid = mCVfrDataStorage.GetVarStoreGuid(_GET_CURRQEST_VARTINFO().mVarStoreId);
Val.b = TRUE;
if (CBObj.GetFlags () & 0x01) {
_PCATCH(
@@ -1895,6 +1903,7 @@
EFI_HII_DEFAULT_CLASS_STANDARD,
_GET_CURRQEST_VARTINFO(),
VarStoreName,
+ VarStoreGuid,
_GET_CURRQEST_DATATYPE (),
Val
),
@@ -1909,6 +1918,7 @@
EFI_HII_DEFAULT_CLASS_MANUFACTURING,
_GET_CURRQEST_VARTINFO(),
VarStoreName,
+ VarStoreGuid,
_GET_CURRQEST_DATATYPE (),
Val
),
@@ -2849,6 +2859,7 @@
UINT32 Size = 0;
BOOLEAN TypeError = FALSE;
EFI_VFR_RETURN_CODE ReturnCode = VFR_RETURN_SUCCESS;
+ EFI_GUID *VarStoreGuid = NULL;
if (_GET_CURRQEST_DATATYPE() == EFI_IFR_TYPE_OTHER) {
TypeError = TRUE;
@@ -2898,11 +2909,13 @@
F:FLAGS "=" vfrOneOfOptionFlags[OOOObj, F->getLine()]
<<
_PCATCH(mCVfrDataStorage.GetVarStoreName (_GET_CURRQEST_VARTINFO().mVarStoreId, &VarStoreName), L->getLine());
+ VarStoreGuid = mCVfrDataStorage.GetVarStoreGuid(_GET_CURRQEST_VARTINFO().mVarStoreId);
if (OOOObj.GetFlags () & 0x10) {
_PCATCH(mCVfrDefaultStore.BufferVarStoreAltConfigAdd (
EFI_HII_DEFAULT_CLASS_STANDARD,
_GET_CURRQEST_VARTINFO(),
VarStoreName,
+ VarStoreGuid,
_GET_CURRQEST_DATATYPE (),
Val
), L->getLine());
@@ -2912,6 +2925,7 @@
EFI_HII_DEFAULT_CLASS_MANUFACTURING,
_GET_CURRQEST_VARTINFO(),
VarStoreName,
+ VarStoreGuid,
_GET_CURRQEST_DATATYPE (),
Val
), L->getLine());
@@ -3327,8 +3341,8 @@
UINT16 ConstVal;
CHAR8 *VarIdStr;
UINT32 LineNo;
- EFI_VFR_VARSTORE_TYPE VarStoreType = EFI_VFR_VARSTORE_INVALID;
EFI_VFR_RETURN_CODE VfrReturnCode = VFR_RETURN_SUCCESS;
+ EFI_VARSTORE_ID VarStoreId = EFI_VARSTORE_ID_INVALID;
>>
L:VarEqVal <<
if (!mCompatibleMode) {
@@ -3339,7 +3353,7 @@
OpenParen
VN:Number <<
VarIdStr = NULL; _STRCAT(&VarIdStr, VK->getText()); _STRCAT(&VarIdStr, VN->getText());
- VfrReturnCode = mCVfrDataStorage.GetVarStoreType (VarIdStr, VarStoreType);
+ VfrReturnCode = mCVfrDataStorage.GetVarStoreId (VarIdStr, &VarStoreId);
if (VfrReturnCode == VFR_RETURN_UNDEFINED) {
_PCATCH (mCVfrDataStorage.DeclareEfiVarStore (
VarIdStr,
@@ -4576,7 +4590,7 @@
TypeNameList[Index],
EFI_VARSTORE_ID_INVALID
);
- mCVfrDataStorage.GetVarStoreId(TypeNameList[Index], &VarStoreId);
+ mCVfrDataStorage.GetVarStoreId(TypeNameList[Index], &VarStoreId, &mFormsetGuid);
VSObj.SetVarStoreId (VarStoreId);
gCVfrVarDataTypeDB.GetDataTypeSize(TypeNameList[Index], &Size);
VSObj.SetSize ((UINT16) Size);
@@ -4601,7 +4615,7 @@
(CHAR8 *) DateType,
EFI_VARSTORE_ID_INVALID
);
- mCVfrDataStorage.GetVarStoreId((CHAR8 *) DateName, &VarStoreId);
+ mCVfrDataStorage.GetVarStoreId((CHAR8 *) DateName, &VarStoreId, &mFormsetGuid);
VSObj.SetVarStoreId (VarStoreId);
gCVfrVarDataTypeDB.GetDataTypeSize((CHAR8 *) DateType, &Size);
VSObj.SetSize ((UINT16) Size);
@@ -4622,7 +4636,7 @@
(CHAR8 *) TimeType,
EFI_VARSTORE_ID_INVALID
);
- mCVfrDataStorage.GetVarStoreId((CHAR8 *) TimeName, &VarStoreId);
+ mCVfrDataStorage.GetVarStoreId((CHAR8 *) TimeName, &VarStoreId, &mFormsetGuid);
VSObj.SetVarStoreId (VarStoreId);
gCVfrVarDataTypeDB.GetDataTypeSize((CHAR8 *) TimeType, &Size);
VSObj.SetSize ((UINT16) Size);
Modified: trunk/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp
===================================================================
--- trunk/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp 2013-01-08 07:39:52 UTC (rev 2567)
+++ trunk/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp 2013-01-16 02:06:12 UTC (rev 2568)
@@ -2,7 +2,7 @@
Vfr common library functions.
-Copyright (c) 2004 - 2012, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -123,11 +123,13 @@
SConfigItem::SConfigItem (
IN CHAR8 *Name,
+ IN EFI_GUID *Guid,
IN CHAR8 *Id
)
{
mName = NULL;
- mId = 0;
+ mGuid = NULL;
+ mId = NULL;
mInfoStrList = NULL;
mNext = NULL;
@@ -137,6 +139,12 @@
}
}
+ if (Guid != NULL) {
+ if ((mGuid = (EFI_GUID *) new CHAR8[sizeof (EFI_GUID)]) != NULL) {
+ memcpy (mGuid, Guid, sizeof (EFI_GUID));
+ }
+ }
+
if (Id != NULL) {
if ((mId = new CHAR8[strlen (Id) + 1]) != NULL) {
strcpy (mId, Id);
@@ -146,6 +154,7 @@
SConfigItem::SConfigItem (
IN CHAR8 *Name,
+ IN EFI_GUID *Guid,
IN CHAR8 *Id,
IN UINT8 Type,
IN UINT16 Offset,
@@ -154,6 +163,7 @@
)
{
mName = NULL;
+ mGuid = NULL;
mId = NULL;
mInfoStrList = NULL;
mNext = NULL;
@@ -164,6 +174,12 @@
}
}
+ if (Guid != NULL) {
+ if ((mGuid = (EFI_GUID *) new CHAR8[sizeof (EFI_GUID)]) != NULL) {
+ memcpy (mGuid, Guid, sizeof (EFI_GUID));
+ }
+ }
+
if (Id != NULL) {
if ((mId = new CHAR8[strlen (Id) + 1]) != NULL) {
strcpy (mId, Id);
@@ -180,6 +196,7 @@
SConfigInfo *Info;
BUFFER_SAFE_FREE (mName);
+ BUFFER_SAFE_FREE (mGuid);
BUFFER_SAFE_FREE (mId);
while (mInfoStrList != NULL) {
Info = mInfoStrList;
@@ -192,18 +209,20 @@
UINT8
CVfrBufferConfig::Register (
IN CHAR8 *Name,
+ IN EFI_GUID *Guid,
IN CHAR8 *Id
)
{
SConfigItem *pNew;
- if (Select (Name) == 0) {
+ if (Select (Name, Guid) == 0) {
return 1;
}
- if ((pNew = new SConfigItem (Name, Id)) == NULL) {
+ if ((pNew = new SConfigItem (Name, Guid, Id)) == NULL) {
return 2;
}
+
if (mItemListHead == NULL) {
mItemListHead = pNew;
mItemListTail = pNew;
@@ -234,18 +253,19 @@
UINT8
CVfrBufferConfig::Select (
- IN CHAR8 *Name,
- IN CHAR8 *Id
+ IN CHAR8 *Name,
+ IN EFI_GUID *Guid,
+ IN CHAR8 *Id
)
{
SConfigItem *p;
- if (Name == NULL) {
+ if (Name == NULL || Guid == NULL) {
mItemListPos = mItemListHead;
return 0;
} else {
for (p = mItemListHead; p != NULL; p = p->mNext) {
- if (strcmp (p->mName, Name) != 0) {
+ if ((strcmp (p->mName, Name) != 0) || (memcmp (p->mGuid, Guid, sizeof (EFI_GUID)) != 0)) {
continue;
}
@@ -269,6 +289,7 @@
CVfrBufferConfig::Write (
IN CONST CHAR8 Mode,
IN CHAR8 *Name,
+ IN EFI_GUID *Guid,
IN CHAR8 *Id,
IN UINT8 Type,
IN UINT16 Offset,
@@ -280,14 +301,14 @@
SConfigItem *pItem;
SConfigInfo *pInfo;
- if ((Ret = Select (Name)) != 0) {
+ if ((Ret = Select (Name, Guid)) != 0) {
return Ret;
}
switch (Mode) {
case 'a' : // add
- if (Select (Name, Id) != 0) {
- if ((pItem = new SConfigItem (Name, Id, Type, Offset, (UINT16) Width, Value)) == NULL) {
+ if (Select (Name, Guid, Id) != 0) {
+ if ((pItem = new SConfigItem (Name, Guid, Id, Type, Offset, (UINT16) Width, Value)) == NULL) {
return 2;
}
if (mItemListHead == NULL) {
@@ -1578,7 +1599,7 @@
return VFR_RETURN_EFIVARSTORE_SIZE_ERROR;
}
- if (GetVarStoreId (StoreName, &VarStoreId) == VFR_RETURN_SUCCESS) {
+ if (GetVarStoreId (StoreName, &VarStoreId, Guid) == VFR_RETURN_SUCCESS) {
return VFR_RETURN_REDEFINED;
}
@@ -1611,7 +1632,7 @@
return VFR_RETURN_FATAL_ERROR;
}
- if (GetVarStoreId (StoreName, &TempVarStoreId) == VFR_RETURN_SUCCESS) {
+ if (GetVarStoreId (StoreName, &TempVarStoreId, Guid) == VFR_RETURN_SUCCESS) {
return VFR_RETURN_REDEFINED;
}
@@ -1633,7 +1654,7 @@
pNew->mNext = mBufferVarStoreList;
mBufferVarStoreList = pNew;
- if (gCVfrBufferConfig.Register(StoreName) != 0) {
+ if (gCVfrBufferConfig.Register(StoreName, Guid) != 0) {
return VFR_RETURN_FATAL_ERROR;
}
@@ -1643,7 +1664,8 @@
EFI_VFR_RETURN_CODE
CVfrDataStorage::GetVarStoreByDataType (
IN CHAR8 *DataTypeName,
- OUT SVfrVarStorageNode **VarNode
+ OUT SVfrVarStorageNode **VarNode,
+ IN EFI_GUID *VarGuid
)
{
SVfrVarStorageNode *pNode;
@@ -1658,7 +1680,16 @@
MatchNode = NULL;
for (pNode = mBufferVarStoreList; pNode != NULL; pNode = pNode->mNext) {
- if (strcmp (pNode->mStorageInfo.mDataType->mTypeName, DataTypeName) == 0) {
+ if (strcmp (pNode->mStorageInfo.mDataType->mTypeName, DataTypeName) != 0) {
+ continue;
+ }
+
+ if ((VarGuid != NULL)) {
+ if (memcmp (VarGuid, &pNode->mGuid, sizeof (EFI_GUID)) == 0) {
+ *VarNode = pNode;
+ return VFR_RETURN_SUCCESS;
+ }
+ } else {
if (MatchNode == NULL) {
MatchNode = pNode;
} else {
@@ -1678,46 +1709,108 @@
return VFR_RETURN_SUCCESS;
}
+EFI_VARSTORE_ID
+CVfrDataStorage::CheckGuidField (
+ IN SVfrVarStorageNode *pNode,
+ IN EFI_GUID *StoreGuid,
+ IN BOOLEAN *HasFoundOne,
+ OUT EFI_VFR_RETURN_CODE *ReturnCode
+ )
+{
+ if (StoreGuid != NULL) {
+ //
+ // If has guid info, compare the guid filed.
+ //
+ if (memcmp (StoreGuid, &pNode->mGuid, sizeof (EFI_GUID)) == 0) {
+ //
+ // Both name and guid are same, this this varstore.
+ //
+ mCurrVarStorageNode = pNode;
+ *ReturnCode = VFR_RETURN_SUCCESS;
+ return TRUE;
+ }
+ } else {
+ //
+ // Not has Guid field, check whether this name is the only one.
+ //
+ if (*HasFoundOne) {
+ //
+ // The name has conflict, return name redefined.
+ //
+ *ReturnCode = VFR_RETURN_VARSTORE_NAME_REDEFINED_ERROR;
+ return TRUE;
+ }
+
+ *HasFoundOne = TRUE;
+ mCurrVarStorageNode = pNode;
+ }
+
+ return FALSE;
+}
+
+/**
+ Base on the input store name and guid to find the varstore id.
+
+ If both name and guid are inputed, base on the name and guid to
+ found the varstore. If only name inputed, base on the name to
+ found the varstore and go on to check whether more than one varstore
+ has the same name. If only has found one varstore, return this
+ varstore; if more than one varstore has same name, return varstore
+ name redefined error. If no varstore found by varstore name, call
+ function GetVarStoreByDataType and use inputed varstore name as
+ data type name to search.
+**/
EFI_VFR_RETURN_CODE
CVfrDataStorage::GetVarStoreId (
IN CHAR8 *StoreName,
- OUT EFI_VARSTORE_ID *VarStoreId
+ OUT EFI_VARSTORE_ID *VarStoreId,
+ IN EFI_GUID *StoreGuid
)
{
EFI_VFR_RETURN_CODE ReturnCode;
SVfrVarStorageNode *pNode;
+ BOOLEAN HasFoundOne = FALSE;
+ mCurrVarStorageNode = NULL;
+
for (pNode = mBufferVarStoreList; pNode != NULL; pNode = pNode->mNext) {
if (strcmp (pNode->mVarStoreName, StoreName) == 0) {
- mCurrVarStorageNode = pNode;
- *VarStoreId = pNode->mVarStoreId;
- return VFR_RETURN_SUCCESS;
+ if (CheckGuidField(pNode, StoreGuid, &HasFoundOne, &ReturnCode)) {
+ *VarStoreId = mCurrVarStorageNode->mVarStoreId;
+ return ReturnCode;
+ }
}
}
for (pNode = mEfiVarStoreList; pNode != NULL; pNode = pNode->mNext) {
if (strcmp (pNode->mVarStoreName, StoreName) == 0) {
- mCurrVarStorageNode = pNode;
- *VarStoreId = pNode->mVarStoreId;
- return VFR_RETURN_SUCCESS;
+ if (CheckGuidField(pNode, StoreGuid, &HasFoundOne, &ReturnCode)) {
+ *VarStoreId = mCurrVarStorageNode->mVarStoreId;
+ return ReturnCode;
+ }
}
}
for (pNode = mNameVarStoreList; pNode != NULL; pNode = pNode->mNext) {
if (strcmp (pNode->mVarStoreName, StoreName) == 0) {
- mCurrVarStorageNode = pNode;
- *VarStoreId = pNode->mVarStoreId;
- return VFR_RETURN_SUCCESS;
+ if (CheckGuidField(pNode, StoreGuid, &HasFoundOne, &ReturnCode)) {
+ *VarStoreId = mCurrVarStorageNode->mVarStoreId;
+ return ReturnCode;
+ }
}
}
- mCurrVarStorageNode = NULL;
+ if (HasFoundOne) {
+ *VarStoreId = mCurrVarStorageNode->mVarStoreId;
+ return VFR_RETURN_SUCCESS;
+ }
+
*VarStoreId = EFI_VARSTORE_ID_INVALID;
//
// Assume that Data strucutre name is used as StoreName, and check again.
//
- ReturnCode = GetVarStoreByDataType (StoreName, &pNode);
+ ReturnCode = GetVarStoreByDataType (StoreName, &pNode, StoreGuid);
if (pNode != NULL) {
mCurrVarStorageNode = pNode;
*VarStoreId = pNode->mVarStoreId;
@@ -1728,126 +1821,100 @@
EFI_VFR_RETURN_CODE
CVfrDataStorage::GetBufferVarStoreDataTypeName (
- IN CHAR8 *StoreName,
+ IN EFI_VARSTORE_ID VarStoreId,
OUT CHAR8 **DataTypeName
)
{
SVfrVarStorageNode *pNode;
- EFI_VFR_RETURN_CODE ReturnCode;
- if ((StoreName == NULL) || (DataTypeName == NULL)) {
+ if (VarStoreId == EFI_VARSTORE_ID_INVALID) {
return VFR_RETURN_FATAL_ERROR;
}
for (pNode = mBufferVarStoreList; pNode != NULL; pNode = pNode->mNext) {
- if (strcmp (pNode->mVarStoreName, StoreName) == 0) {
- break;
+ if (pNode->mVarStoreId == VarStoreId) {
+ *DataTypeName = pNode->mStorageInfo.mDataType->mTypeName;
+ return VFR_RETURN_SUCCESS;
}
}
- ReturnCode = VFR_RETURN_UNDEFINED;
- //
- // Assume that Data strucutre name is used as StoreName, and check again.
- //
- if (pNode == NULL) {
- ReturnCode = GetVarStoreByDataType (StoreName, &pNode);
- }
-
- if (pNode == NULL) {
- return ReturnCode;
- }
-
- if (pNode->mStorageInfo.mDataType == NULL) {
- return VFR_RETURN_FATAL_ERROR;
- }
-
- *DataTypeName = pNode->mStorageInfo.mDataType->mTypeName;
- return VFR_RETURN_SUCCESS;
+ return VFR_RETURN_UNDEFINED;
}
-EFI_VFR_RETURN_CODE
+EFI_VFR_VARSTORE_TYPE
CVfrDataStorage::GetVarStoreType (
- IN CHAR8 *StoreName,
- OUT EFI_VFR_VARSTORE_TYPE &VarStoreType
+ IN EFI_VARSTORE_ID VarStoreId
)
{
SVfrVarStorageNode *pNode;
- EFI_VFR_RETURN_CODE ReturnCode;
+ EFI_VFR_VARSTORE_TYPE VarStoreType;
- if (StoreName == NULL) {
- return VFR_RETURN_FATAL_ERROR;
+ VarStoreType = EFI_VFR_VARSTORE_INVALID;
+
+ if (VarStoreId == EFI_VARSTORE_ID_INVALID) {
+ return VarStoreType;
}
for (pNode = mBufferVarStoreList; pNode != NULL; pNode = pNode->mNext) {
- if (strcmp (pNode->mVarStoreName, StoreName) == 0) {
+ if (pNode->mVarStoreId == VarStoreId) {
VarStoreType = pNode->mVarStoreType;
- return VFR_RETURN_SUCCESS;
+ return VarStoreType;
}
}
for (pNode = mEfiVarStoreList; pNode != NULL; pNode = pNode->mNext) {
- if (strcmp (pNode->mVarStoreName, StoreName) == 0) {
+ if (pNode->mVarStoreId == VarStoreId) {
VarStoreType = pNode->mVarStoreType;
- return VFR_RETURN_SUCCESS;
+ return VarStoreType;
}
}
for (pNode = mNameVarStoreList; pNode != NULL; pNode = pNode->mNext) {
- if (strcmp (pNode->mVarStoreName, StoreName) == 0) {
+ if (pNode->mVarStoreId == VarStoreId) {
VarStoreType = pNode->mVarStoreType;
- return VFR_RETURN_SUCCESS;
+ return VarStoreType;
}
}
- VarStoreType = EFI_VFR_VARSTORE_INVALID;
-
- //
- // Assume that Data strucutre name is used as StoreName, and check again.
- //
- ReturnCode = GetVarStoreByDataType (StoreName, &pNode);
- if (pNode != NULL) {
- VarStoreType = pNode->mVarStoreType;
- }
-
- return ReturnCode;
+ return VarStoreType;
}
-EFI_VFR_VARSTORE_TYPE
-CVfrDataStorage::GetVarStoreType (
+EFI_GUID *
+CVfrDataStorage::GetVarStoreGuid (
IN EFI_VARSTORE_ID VarStoreId
)
{
SVfrVarStorageNode *pNode;
- EFI_VFR_VARSTORE_TYPE VarStoreType;
+ EFI_GUID *VarGuid;
- VarStoreType = EFI_VFR_VARSTORE_INVALID;
+ VarGuid = NULL;
if (VarStoreId == EFI_VARSTORE_ID_INVALID) {
- return VarStoreType;
+ return VarGuid;
}
for (pNode = mBufferVarStoreList; pNode != NULL; pNode = pNode->mNext) {
if (pNode->mVarStoreId == VarStoreId) {
- VarStoreType = pNode->mVarStoreType;
- return VarStoreType;
+ VarGuid = &pNode->mGuid;
+ return VarGuid;
}
}
for (pNode = mEfiVarStoreList; pNode != NULL; pNode = pNode->mNext) {
if (pNode->mVarStoreId == VarStoreId) {
- VarStoreType = pNode->mVarStoreType;
- return VarStoreType;
+ VarGuid = &pNode->mGuid;
+ return VarGuid;
}
}
for (pNode = mNameVarStoreList; pNode != NULL; pNode = pNode->mNext) {
if (pNode->mVarStoreId == VarStoreId) {
- VarStoreType = pNode->mVarStoreType;
- return VarStoreType;
+ VarGuid = &pNode->mGuid;
+ return VarGuid;
}
}
- return VarStoreType;
+ return VarGuid;
}
EFI_VFR_RETURN_CODE
@@ -1951,44 +2018,6 @@
return VFR_RETURN_SUCCESS;
}
-EFI_VFR_RETURN_CODE
-CVfrDataStorage::BufferVarStoreRequestElementAdd (
- IN CHAR8 *StoreName,
- IN EFI_VARSTORE_INFO &Info
- )
-{
- SVfrVarStorageNode *pNode = NULL;
- EFI_IFR_TYPE_VALUE Value = gZeroEfiIfrTypeValue;
- EFI_VFR_RETURN_CODE ReturnCode;
-
- for (pNode = mBufferVarStoreList; pNode != NULL; pNode = pNode->mNext) {
- if (strcmp (pNode->mVarStoreName, StoreName) == 0) {
- break;
- }
- }
-
- ReturnCode = VFR_RETURN_UNDEFINED;
- //
- // Assume that Data strucutre name is used as StoreName, and check again.
- //
- if (pNode == NULL) {
- ReturnCode = GetVarStoreByDataType (StoreName, &pNode);
- }
-
- if (pNode == NULL) {
- return ReturnCode;
- }
-
- gCVfrBufferConfig.Open ();
- Value.u8 = 0;
- if (gCVfrBufferConfig.Write ('a', StoreName, NULL, EFI_IFR_TYPE_NUM_SIZE_8, Info.mInfo.mVarOffset, Info.mVarTotalSize, Value) != 0) {
- return VFR_RETURN_FATAL_ERROR;
- }
- gCVfrBufferConfig.Close ();
-
- return VFR_RETURN_SUCCESS;
-}
-
SVfrDefaultStoreNode::SVfrDefaultStoreNode (
IN EFI_IFR_DEFAULTSTORE *ObjBinAddr,
IN CHAR8 *RefName,
@@ -2155,6 +2184,7 @@
IN EFI_VARSTORE_ID DefaultId,
IN EFI_VARSTORE_INFO &Info,
IN CHAR8 *VarStoreName,
+ IN EFI_GUID *VarStoreGuid,
IN UINT8 Type,
IN EFI_IFR_TYPE_VALUE Value
)
@@ -2180,8 +2210,8 @@
gCVfrBufferConfig.Open ();
sprintf (NewAltCfg, "%04x", pNode->mDefaultId);
- if ((Returnvalue = gCVfrBufferConfig.Select(VarStoreName)) == 0) {
- if ((Returnvalue = gCVfrBufferConfig.Write ('a', VarStoreName, NewAltCfg, Type, Info.mInfo.mVarOffset, Info.mVarTotalSize, Value)) != 0) {
+ if ((Returnvalue = gCVfrBufferConfig.Select(VarStoreName, VarStoreGuid)) == 0) {
+ if ((Returnvalue = gCVfrBufferConfig.Write ('a', VarStoreName, VarStoreGuid, NewAltCfg, Type, Info.mInfo.mVarOffset, Info.mVarTotalSize, Value)) != 0) {
goto WriteError;
}
}
Modified: trunk/BaseTools/Source/C/VfrCompile/VfrUtilityLib.h
===================================================================
--- trunk/BaseTools/Source/C/VfrCompile/VfrUtilityLib.h 2013-01-08 07:39:52 UTC (rev 2567)
+++ trunk/BaseTools/Source/C/VfrCompile/VfrUtilityLib.h 2013-01-16 02:06:12 UTC (rev 2568)
@@ -2,7 +2,7 @@
Vfr common library functions.
-Copyright (c) 2004 - 2012, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -57,13 +57,14 @@
struct SConfigItem {
CHAR8 *mName; // varstore name
- CHAR8 *mId; // varstore ID
+ EFI_GUID *mGuid; // varstore guid, varstore name + guid deside one varstore
+ CHAR8 *mId; // default ID
SConfigInfo *mInfoStrList; // list of Offset/Value in the varstore
SConfigItem *mNext;
public:
- SConfigItem (IN CHAR8 *, IN CHAR8 *);
- SConfigItem (IN CHAR8 *, IN CHAR8 *, IN UINT8, IN UINT16, IN UINT16, IN EFI_IFR_TYPE_VALUE);
+ SConfigItem (IN CHAR8 *, IN EFI_GUID *, IN CHAR8 *);
+ SConfigItem (IN CHAR8 *, IN EFI_GUID *, IN CHAR8 *, IN UINT8, IN UINT16, IN UINT16, IN EFI_IFR_TYPE_VALUE);
virtual ~SConfigItem ();
};
@@ -77,11 +78,11 @@
CVfrBufferConfig (VOID);
virtual ~CVfrBufferConfig (VOID);
- virtual UINT8 Register (IN CHAR8 *, IN CHAR8 *Info = NULL);
+ virtual UINT8 Register (IN CHAR8 *, IN EFI_GUID *,IN CHAR8 *Info = NULL);
virtual VOID Open (VOID);
virtual BOOLEAN Eof(VOID);
- virtual UINT8 Select (IN CHAR8 *, IN CHAR8 *Info = NULL);
- virtual UINT8 Write (IN CONST CHAR8, IN CHAR8 *, IN CHAR8 *, IN UINT8, IN UINT16, IN UINT32, IN EFI_IFR_TYPE_VALUE);
+ virtual UINT8 Select (IN CHAR8 *, IN EFI_GUID *, IN CHAR8 *Info = NULL);
+ virtual UINT8 Write (IN CONST CHAR8, IN CHAR8 *, IN EFI_GUID *, IN CHAR8 *, IN UINT8, IN UINT16, IN UINT32, IN EFI_IFR_TYPE_VALUE);
#if 0
virtual UINT8 Read (OUT CHAR8 **, OUT CHAR8 **, OUT CHAR8 **, OUT CHAR8 **, OUT CHAR8 **);
#endif
@@ -284,6 +285,10 @@
BOOLEAN ChekVarStoreIdFree (IN EFI_VARSTORE_ID);
VOID MarkVarStoreIdUsed (IN EFI_VARSTORE_ID);
VOID MarkVarStoreIdUnused (IN EFI_VARSTORE_ID);
+ EFI_VARSTORE_ID CheckGuidField (IN SVfrVarStorageNode *,
+ IN EFI_GUID *,
+ IN BOOLEAN *,
+ OUT EFI_VFR_RETURN_CODE *);
public:
CVfrDataStorage ();
@@ -303,17 +308,15 @@
EFI_VFR_RETURN_CODE DeclareBufferVarStore (IN CHAR8 *, IN EFI_GUID *, IN CVfrVarDataTypeDB *, IN CHAR8 *, IN EFI_VARSTORE_ID, IN BOOLEAN Flag = TRUE);
- EFI_VFR_RETURN_CODE GetVarStoreId (IN CHAR8 *, OUT EFI_VARSTORE_ID *);
- EFI_VFR_RETURN_CODE GetVarStoreType (IN CHAR8 *, OUT EFI_VFR_VARSTORE_TYPE &);
+ EFI_VFR_RETURN_CODE GetVarStoreId (IN CHAR8 *, OUT EFI_VARSTORE_ID *, IN EFI_GUID *VarGuid = NULL);
EFI_VFR_VARSTORE_TYPE GetVarStoreType (IN EFI_VARSTORE_ID);
+ EFI_GUID * GetVarStoreGuid (IN EFI_VARSTORE_ID);
EFI_VFR_RETURN_CODE GetVarStoreName (IN EFI_VARSTORE_ID, OUT CHAR8 **);
- EFI_VFR_RETURN_CODE GetVarStoreByDataType (IN CHAR8 *, OUT SVfrVarStorageNode **);
+ EFI_VFR_RETURN_CODE GetVarStoreByDataType (IN CHAR8 *, OUT SVfrVarStorageNode **, IN EFI_GUID *VarGuid = NULL);
- EFI_VFR_RETURN_CODE GetBufferVarStoreDataTypeName (IN CHAR8 *, OUT CHAR8 **);
+ EFI_VFR_RETURN_CODE GetBufferVarStoreDataTypeName (IN EFI_VARSTORE_ID, OUT CHAR8 **);
EFI_VFR_RETURN_CODE GetEfiVarStoreInfo (IN EFI_VARSTORE_INFO *);
EFI_VFR_RETURN_CODE GetNameVarStoreInfo (IN EFI_VARSTORE_INFO *, IN UINT32);
-
- EFI_VFR_RETURN_CODE BufferVarStoreRequestElementAdd (IN CHAR8 *, IN EFI_VARSTORE_INFO &);
};
#define EFI_QUESTION_ID_MAX 0xFFFF
@@ -396,7 +399,7 @@
EFI_VFR_RETURN_CODE ReRegisterDefaultStoreById (IN UINT16, IN CHAR8 *, IN EFI_STRING_ID);
BOOLEAN DefaultIdRegistered (IN UINT16);
EFI_VFR_RETURN_CODE GetDefaultId (IN CHAR8 *, OUT UINT16 *);
- EFI_VFR_RETURN_CODE BufferVarStoreAltConfigAdd (IN EFI_VARSTORE_ID, IN EFI_VARSTORE_INFO &, IN CHAR8 *, IN UINT8, IN EFI_IFR_TYPE_VALUE);
+ EFI_VFR_RETURN_CODE BufferVarStoreAltConfigAdd (IN EFI_VARSTORE_ID, IN EFI_VARSTORE_INFO &, IN CHAR8 *, IN EFI_GUID *, IN UINT8, IN EFI_IFR_TYPE_VALUE);
};
#define EFI_RULE_ID_START 0x01
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yd...@us...> - 2013-01-08 07:40:00
|
Revision: 2567
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2567&view=rev
Author: ydong10
Date: 2013-01-08 07:39:52 +0000 (Tue, 08 Jan 2013)
Log Message:
-----------
Base on the varid info to save default value to the varstore.
Signed-off-by: Eric Dong <eri...@in...>
Reviewed-by: Liming Gao <lim...@in...>
Modified Paths:
--------------
trunk/BaseTools/Source/C/VfrCompile/VfrSyntax.g
Modified: trunk/BaseTools/Source/C/VfrCompile/VfrSyntax.g
===================================================================
--- trunk/BaseTools/Source/C/VfrCompile/VfrSyntax.g 2013-01-06 06:17:11 UTC (rev 2566)
+++ trunk/BaseTools/Source/C/VfrCompile/VfrSyntax.g 2013-01-08 07:39:52 UTC (rev 2567)
@@ -1097,6 +1097,10 @@
vfrQuestionHeader[CIfrQuestionHeader & QHObj, EFI_QUESION_TYPE QType = QUESTION_NORMAL]:
<<
EFI_VARSTORE_INFO Info;
+ Info.mVarType = EFI_IFR_TYPE_OTHER;
+ Info.mVarTotalSize = 0;
+ Info.mInfo.mVarOffset = EFI_VAROFFSET_INVALID;
+ Info.mVarStoreId = EFI_VARSTORE_ID_INVALID;
EFI_QUESTION_ID QId = EFI_QUESTION_ID_INVALID;
CHAR8 *QName = NULL;
CHAR8 *VarIdStr = NULL;
@@ -1147,8 +1151,8 @@
<<
if (VarIdStr != NULL) {
delete VarIdStr;
- _SAVE_CURRQEST_VARINFO (Info);
}
+ _SAVE_CURRQEST_VARINFO (Info);
>>
;
@@ -1472,8 +1476,7 @@
EFI_DEFAULT_ID DefaultId = EFI_HII_DEFAULT_CLASS_STANDARD;
CHAR8 *VarStoreName = NULL;
EFI_VFR_VARSTORE_TYPE VarStoreType = EFI_VFR_VARSTORE_INVALID;
- UINT8 Size = 0;
- BOOLEAN TypeError = FALSE;
+ UINT32 Size = 0;
>>
D:Default
(
@@ -1486,53 +1489,14 @@
_PCATCH (VFR_RETURN_INVALID_PARAMETER, D->getLine(), "Numeric default value must be between MinValue and MaxValue.");
}
}
- switch (_GET_CURRQEST_DATATYPE()) {
- case EFI_IFR_TYPE_NUM_SIZE_8:
- Size = 1;
- break;
-
- case EFI_IFR_TYPE_NUM_SIZE_16:
- Size = 2;
- break;
-
- case EFI_IFR_TYPE_NUM_SIZE_32:
- Size = 4;
- break;
-
- case EFI_IFR_TYPE_NUM_SIZE_64:
- Size = 8;
- break;
-
- case EFI_IFR_TYPE_DATE:
- Size = 4;
- break;
-
- case EFI_IFR_TYPE_TIME:
- Size = 3;
- break;
-
- case EFI_IFR_TYPE_REF:
- Size = 22;
- break;
-
- case EFI_IFR_TYPE_STRING:
- Size = 2;
- break;
-
- case EFI_IFR_TYPE_BOOLEAN:
- Size = 1;
- break;
-
- default:
- TypeError = TRUE;
- Size = sizeof (EFI_IFR_TYPE_VALUE);
- break;
- }
- if (TypeError) {
+ if (_GET_CURRQEST_DATATYPE() == EFI_IFR_TYPE_OTHER) {
_PCATCH (VFR_RETURN_FATAL_ERROR, D->getLine(), "Default data type error.");
+ Size = sizeof (EFI_IFR_TYPE_VALUE);
+ } else {
+ _PCATCH (gCVfrVarDataTypeDB.GetDataTypeSize (_GET_CURRQEST_DATATYPE(), &Size), D->getLine());
}
Size += OFFSET_OF (EFI_IFR_DEFAULT, Value);
- DObj = new CIfrDefault (Size);
+ DObj = new CIfrDefault ((UINT8)Size);
DObj->SetLineNo(D->getLine());
DObj->SetType (_GET_CURRQEST_DATATYPE());
DObj->SetValue(Val);
@@ -1553,19 +1517,20 @@
>>
}
<<
- _PCATCH(mCVfrDataStorage.GetVarStoreName (_GET_CURRQEST_VARTINFO().mVarStoreId, &VarStoreName), D->getLine());
- _PCATCH(mCVfrDataStorage.GetVarStoreType (VarStoreName, VarStoreType), D->getLine());
- if ((IsExp == FALSE) && (VarStoreType == EFI_VFR_VARSTORE_BUFFER)) {
- _PCATCH(mCVfrDefaultStore.BufferVarStoreAltConfigAdd (
- DefaultId,
- _GET_CURRQEST_VARTINFO(),
- VarStoreName,
- _GET_CURRQEST_DATATYPE (),
- Val),
- D->getLine()
- );
+ if (_GET_CURRQEST_VARTINFO().mVarStoreId != EFI_VARSTORE_ID_INVALID) {
+ _PCATCH(mCVfrDataStorage.GetVarStoreName (_GET_CURRQEST_VARTINFO().mVarStoreId, &VarStoreName), D->getLine());
+ _PCATCH(mCVfrDataStorage.GetVarStoreType (VarStoreName, VarStoreType), D->getLine());
+ if ((IsExp == FALSE) && (VarStoreType == EFI_VFR_VARSTORE_BUFFER)) {
+ _PCATCH(mCVfrDefaultStore.BufferVarStoreAltConfigAdd (
+ DefaultId,
+ _GET_CURRQEST_VARTINFO(),
+ VarStoreName,
+ _GET_CURRQEST_DATATYPE (),
+ Val),
+ D->getLine()
+ );
+ }
}
-
if (DObj != NULL) {delete DObj;}
if (DObj2 != NULL) {delete DObj2;}
>>
@@ -1832,7 +1797,11 @@
default: break;
}
>>
- vfrQuestionHeader[*QHObj, QUESTION_REF]
+ vfrQuestionHeader[*QHObj, QUESTION_REF] <<
+ if (_GET_CURRQEST_DATATYPE() == EFI_IFR_TYPE_OTHER) {
+ _GET_CURRQEST_VARTINFO().mVarType = EFI_IFR_TYPE_REF;
+ }
+ >>
{ "," F:FLAGS "=" vfrGotoFlags[QHObj, F->getLine()] }
{
"," Key "=" KN:Number << AssignQuestionKey (*QHObj, KN); >>
@@ -1904,6 +1873,9 @@
>>
L:CheckBox << CBObj.SetLineNo(L->getLine()); >>
vfrQuestionHeader[CBObj] "," << //check data type
+ if (_GET_CURRQEST_DATATYPE() == EFI_IFR_TYPE_OTHER) {
+ _GET_CURRQEST_VARTINFO().mVarType = EFI_IFR_TYPE_BOOLEAN;
+ }
_PCATCH (gCVfrVarDataTypeDB.GetDataTypeSize (_GET_CURRQEST_DATATYPE(), &DataTypeSize), L->getLine(), "CheckBox varid is not the valid data type");
if (DataTypeSize != 0 && DataTypeSize != _GET_CURRQEST_VARSIZE()) {
_PCATCH (VFR_RETURN_INVALID_PARAMETER, L->getLine(), "CheckBox varid doesn't support array");
@@ -2044,7 +2016,11 @@
L:Date << DObj.SetLineNo(L->getLine()); >>
(
(
- vfrQuestionHeader[DObj, QUESTION_DATE] ","
+ vfrQuestionHeader[DObj, QUESTION_DATE] "," <<
+ if (_GET_CURRQEST_DATATYPE() == EFI_IFR_TYPE_OTHER) {
+ _GET_CURRQEST_VARTINFO().mVarType = EFI_IFR_TYPE_DATE;
+ }
+ >>
{ F:FLAGS "=" vfrDateFlags[DObj, F->getLine()] "," }
vfrStatementQuestionOptionList
)
@@ -2517,7 +2493,11 @@
L:Time << TObj.SetLineNo(L->getLine()); >>
(
(
- vfrQuestionHeader[TObj, QUESTION_TIME] ","
+ vfrQuestionHeader[TObj, QUESTION_TIME] "," <<
+ if (_GET_CURRQEST_DATATYPE() == EFI_IFR_TYPE_OTHER) {
+ _GET_CURRQEST_VARTINFO().mVarType = EFI_IFR_TYPE_TIME;
+ }
+ >>
{ F:FLAGS "=" vfrTimeFlags[TObj, F->getLine()] "," }
vfrStatementQuestionOptionList
)
@@ -2866,32 +2846,28 @@
<<
EFI_IFR_TYPE_VALUE Val = gZeroEfiIfrTypeValue;
CHAR8 *VarStoreName = NULL;
+ UINT32 Size = 0;
BOOLEAN TypeError = FALSE;
- UINT8 Size = 0;
-
- switch (_GET_CURRQEST_DATATYPE()) {
- case EFI_IFR_TYPE_NUM_SIZE_8: Size = 1; break;
- case EFI_IFR_TYPE_NUM_SIZE_16: Size = 2; break;
- case EFI_IFR_TYPE_NUM_SIZE_32: Size = 4; break;
- case EFI_IFR_TYPE_NUM_SIZE_64: Size = 8; break;
- case EFI_IFR_TYPE_DATE: Size = 4; break;
- case EFI_IFR_TYPE_TIME: Size = 3; break;
- case EFI_IFR_TYPE_REF: Size = 22;break;
- case EFI_IFR_TYPE_STRING: Size = 2; break;
- case EFI_IFR_TYPE_BOOLEAN: Size = 1; break;
- default:
+ EFI_VFR_RETURN_CODE ReturnCode = VFR_RETURN_SUCCESS;
+
+ if (_GET_CURRQEST_DATATYPE() == EFI_IFR_TYPE_OTHER) {
TypeError = TRUE;
Size = sizeof (EFI_IFR_TYPE_VALUE);
- break;
+ } else {
+ ReturnCode = gCVfrVarDataTypeDB.GetDataTypeSize (_GET_CURRQEST_DATATYPE(), &Size);
}
+
Size += OFFSET_OF (EFI_IFR_ONE_OF_OPTION, Value);
- CIfrOneOfOption OOOObj (Size);
+ CIfrOneOfOption OOOObj ((UINT8)Size);
>>
- L:Option <<
+ L:Option <<
OOOObj.SetLineNo(L->getLine());
if (TypeError) {
_PCATCH (VFR_RETURN_FATAL_ERROR, L->getLine(), "Get data type error.");
}
+ if (ReturnCode != VFR_RETURN_SUCCESS) {
+ _PCATCH (ReturnCode, L->getLine());
+ }
>>
Text "=" "STRING_TOKEN" "\(" S:Number "\)" "," << OOOObj.SetOption (_STOSID(S->getText())); >>
Value "=" vfrConstantValueField[_GET_CURRQEST_DATATYPE()] >[Val] ","
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yd...@us...> - 2013-01-06 06:17:18
|
Revision: 2566
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2566&view=rev
Author: ydong10
Date: 2013-01-06 06:17:11 +0000 (Sun, 06 Jan 2013)
Log Message:
-----------
For option/oneof/numeric opcode, refine code to generate binary data base on the input flag/type info, not always generate the biggest format data.
Signed-off-by: Eric Dong <eri...@in...>
Reviewed-by: Liming Gao <lim...@in...>
Modified Paths:
--------------
trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.h
trunk/BaseTools/Source/C/VfrCompile/VfrSyntax.g
Modified: trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.h
===================================================================
--- trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.h 2012-12-17 04:48:18 UTC (rev 2565)
+++ trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.h 2013-01-06 06:17:11 UTC (rev 2566)
@@ -2,7 +2,7 @@
The definition of CFormPkg's member function
-Copyright (c) 2004 - 2012, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -433,6 +433,10 @@
return _FLAGS_ZERO (Flags) ? VFR_RETURN_SUCCESS : VFR_RETURN_FLAGS_UNSUPPORTED;
}
+
+ VOID UpdateCIfrQuestionHeader (IN EFI_IFR_QUESTION_HEADER *Header) {
+ mHeader = Header;
+ }
};
/*
@@ -583,6 +587,10 @@
BOOLEAN IsNumericOpcode () {
return IsNumeric;
}
+
+ VOID UpdateCIfrMinMaxStepData (IN MINMAXSTEP_DATA *MinMaxStepData) {
+ mMinMaxStepData = MinMaxStepData;
+ }
};
static CIfrQuestionHeader *gCurrentQuestion = NULL;
@@ -1300,7 +1308,7 @@
EFI_IFR_NUMERIC *mNumeric;
public:
- CIfrNumeric () : CIfrObj (EFI_IFR_NUMERIC_OP, (CHAR8 **)&mNumeric),
+ CIfrNumeric () : CIfrObj (EFI_IFR_NUMERIC_OP, (CHAR8 **)&mNumeric, sizeof (EFI_IFR_NUMERIC), TRUE),
CIfrOpHeader (EFI_IFR_NUMERIC_OP, &mNumeric->Header),
CIfrQuestionHeader (&mNumeric->Question),
CIfrMinMaxStepData (&mNumeric->data, TRUE) {
@@ -1314,6 +1322,27 @@
gCurrentMinMaxData = NULL;
}
+ VOID ShrinkBinSize (IN UINT16 Size) {
+ //
+ // Update the buffer size which is truly be used later.
+ //
+ ShrinkObjBin(Size);
+ DecLength(Size);
+
+ //
+ // Allocate buffer in gCFormPkg.
+ //
+ _EMIT_PENDING_OBJ();
+
+ //
+ // Update the buffer pointer used by other class.
+ //
+ mNumeric = (EFI_IFR_NUMERIC *) GetObjBinAddr();
+ UpdateHeader (&mNumeric->Header);
+ UpdateCIfrQuestionHeader(&mNumeric->Question);
+ UpdateCIfrMinMaxStepData(&mNumeric->data);
+ }
+
EFI_VFR_RETURN_CODE SetFlags (IN UINT8 HFlags, IN UINT8 LFlags) {
EFI_VFR_RETURN_CODE Ret;
@@ -1336,7 +1365,7 @@
EFI_IFR_ONE_OF *mOneOf;
public:
- CIfrOneOf () : CIfrObj (EFI_IFR_ONE_OF_OP, (CHAR8 **)&mOneOf),
+ CIfrOneOf () : CIfrObj (EFI_IFR_ONE_OF_OP, (CHAR8 **)&mOneOf, sizeof (EFI_IFR_ONE_OF), TRUE),
CIfrOpHeader (EFI_IFR_ONE_OF_OP, &mOneOf->Header),
CIfrQuestionHeader (&mOneOf->Question),
CIfrMinMaxStepData (&mOneOf->data) {
@@ -1365,6 +1394,27 @@
}
return VFR_RETURN_SUCCESS;
}
+
+ VOID ShrinkBinSize (IN UINT16 Size) {
+ //
+ // Update the buffer size which is truly be used later.
+ //
+ ShrinkObjBin(Size);
+ DecLength(Size);
+
+ //
+ // Allocate buffer in gCFormPkg.
+ //
+ _EMIT_PENDING_OBJ();
+
+ //
+ // Update the buffer pointer used by other class.
+ //
+ mOneOf = (EFI_IFR_ONE_OF *) GetObjBinAddr();
+ UpdateHeader (&mOneOf->Header);
+ UpdateCIfrQuestionHeader(&mOneOf->Question);
+ UpdateCIfrMinMaxStepData(&mOneOf->data);
+ }
};
class CIfrString : public CIfrObj, public CIfrOpHeader, public CIfrQuestionHeader {
@@ -1627,12 +1677,12 @@
EFI_IFR_ONE_OF_OPTION *mOneOfOption;
public:
- CIfrOneOfOption () : CIfrObj (EFI_IFR_ONE_OF_OPTION_OP, (CHAR8 **)&mOneOfOption),
- CIfrOpHeader (EFI_IFR_ONE_OF_OPTION_OP, &mOneOfOption->Header) {
+ CIfrOneOfOption (UINT8 Size) : CIfrObj (EFI_IFR_ONE_OF_OPTION_OP, (CHAR8 **)&mOneOfOption, Size),
+ CIfrOpHeader (EFI_IFR_ONE_OF_OPTION_OP, &mOneOfOption->Header, Size) {
mOneOfOption->Flags = 0;
mOneOfOption->Option = EFI_STRING_ID_INVALID;
mOneOfOption->Type = EFI_IFR_TYPE_OTHER;
- memset (&mOneOfOption->Value, 0, sizeof (mOneOfOption->Value));
+ memset (&mOneOfOption->Value, 0, Size - OFFSET_OF (EFI_IFR_ONE_OF_OPTION, Value));
}
VOID SetOption (IN EFI_STRING_ID Option) {
@@ -1685,7 +1735,7 @@
}
VOID SetValue (IN EFI_IFR_TYPE_VALUE Value) {
- mOneOfOption->Value = Value;
+ memcpy (&mOneOfOption->Value, &Value, mOneOfOption->Header.Length - OFFSET_OF (EFI_IFR_ONE_OF_OPTION, Value));
}
UINT8 GetFlags (VOID) {
Modified: trunk/BaseTools/Source/C/VfrCompile/VfrSyntax.g
===================================================================
--- trunk/BaseTools/Source/C/VfrCompile/VfrSyntax.g 2012-12-17 04:48:18 UTC (rev 2565)
+++ trunk/BaseTools/Source/C/VfrCompile/VfrSyntax.g 2013-01-06 06:17:11 UTC (rev 2566)
@@ -1,5 +1,5 @@
/*++
-Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2013, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -2204,8 +2204,9 @@
vfrStatementNumeric :
<<
CIfrNumeric NObj;
- UINT32 DataTypeSize;
- BOOLEAN IsSupported;
+ UINT32 DataTypeSize;
+ BOOLEAN IsSupported = TRUE;
+ UINT8 ShrinkSize = 0;
>>
L:Numeric << NObj.SetLineNo(L->getLine()); >>
vfrQuestionHeader[NObj] "," << // check data type
@@ -2219,23 +2220,27 @@
{
Key "=" KN:Number "," << AssignQuestionKey (NObj, KN); >>
}
- vfrSetMinMaxStep[NObj]
- vfrStatementQuestionOptionList
- E:EndNumeric <<
- IsSupported = FALSE;
+ vfrSetMinMaxStep[NObj] <<
switch (_GET_CURRQEST_DATATYPE()) {
- case EFI_IFR_TYPE_NUM_SIZE_8:
- case EFI_IFR_TYPE_NUM_SIZE_16:
- case EFI_IFR_TYPE_NUM_SIZE_32:
- case EFI_IFR_TYPE_NUM_SIZE_64:
- IsSupported = TRUE;
+ //
+ // Base on the type to know the actual used size,shrink the buffer
+ // size allocate before.
+ //
+ case EFI_IFR_TYPE_NUM_SIZE_8: ShrinkSize = 21;break;
+ case EFI_IFR_TYPE_NUM_SIZE_16:ShrinkSize = 18;break;
+ case EFI_IFR_TYPE_NUM_SIZE_32:ShrinkSize = 12;break;
+ case EFI_IFR_TYPE_NUM_SIZE_64:break;
+ default:
+ IsSupported = FALSE;
break;
- default:
- break;
}
+ NObj.ShrinkBinSize (ShrinkSize);
if (!IsSupported) {
_PCATCH (VFR_RETURN_INVALID_PARAMETER, L->getLine(), "Numeric question only support UINT8, UINT16, UINT32 and UINT64 data type.");
}
+ >>
+ vfrStatementQuestionOptionList
+ E:EndNumeric <<
CRT_END_OP (E);
>>
";"
@@ -2282,7 +2287,8 @@
<<
CIfrOneOf OObj;
UINT32 DataTypeSize;
- BOOLEAN IsSupported;
+ BOOLEAN IsSupported = TRUE;
+ UINT8 ShrinkSize = 0;
>>
L:OneOf << OObj.SetLineNo(L->getLine()); >>
vfrQuestionHeader[OObj] "," << //check data type
@@ -2296,22 +2302,27 @@
{
vfrSetMinMaxStep[OObj]
}
- vfrStatementQuestionOptionList
- E:EndOneOf <<
- IsSupported = FALSE;
+ <<
switch (_GET_CURRQEST_DATATYPE()) {
- case EFI_IFR_TYPE_NUM_SIZE_8:
- case EFI_IFR_TYPE_NUM_SIZE_16:
- case EFI_IFR_TYPE_NUM_SIZE_32:
- case EFI_IFR_TYPE_NUM_SIZE_64:
- IsSupported = TRUE;
- break;
+ //
+ // Base on the type to know the actual used size,shrink the buffer
+ // size allocate before.
+ //
+ case EFI_IFR_TYPE_NUM_SIZE_8: ShrinkSize = 21;break;
+ case EFI_IFR_TYPE_NUM_SIZE_16:ShrinkSize = 18;break;
+ case EFI_IFR_TYPE_NUM_SIZE_32:ShrinkSize = 12;break;
+ case EFI_IFR_TYPE_NUM_SIZE_64:break;
default:
+ IsSupported = FALSE;
break;
}
+ OObj.ShrinkBinSize (ShrinkSize);
if (!IsSupported) {
_PCATCH (VFR_RETURN_INVALID_PARAMETER, L->getLine(), "OneOf question only support UINT8, UINT16, UINT32 and UINT64 data type.");
}
+ >>
+ vfrStatementQuestionOptionList
+ E:EndOneOf <<
CRT_END_OP (E);
>>
";"
@@ -2853,11 +2864,35 @@
vfrStatementOneOfOption :
<<
- EFI_IFR_TYPE_VALUE Val = gZeroEfiIfrTypeValue;
- CIfrOneOfOption OOOObj;
+ EFI_IFR_TYPE_VALUE Val = gZeroEfiIfrTypeValue;
CHAR8 *VarStoreName = NULL;
+ BOOLEAN TypeError = FALSE;
+ UINT8 Size = 0;
+
+ switch (_GET_CURRQEST_DATATYPE()) {
+ case EFI_IFR_TYPE_NUM_SIZE_8: Size = 1; break;
+ case EFI_IFR_TYPE_NUM_SIZE_16: Size = 2; break;
+ case EFI_IFR_TYPE_NUM_SIZE_32: Size = 4; break;
+ case EFI_IFR_TYPE_NUM_SIZE_64: Size = 8; break;
+ case EFI_IFR_TYPE_DATE: Size = 4; break;
+ case EFI_IFR_TYPE_TIME: Size = 3; break;
+ case EFI_IFR_TYPE_REF: Size = 22;break;
+ case EFI_IFR_TYPE_STRING: Size = 2; break;
+ case EFI_IFR_TYPE_BOOLEAN: Size = 1; break;
+ default:
+ TypeError = TRUE;
+ Size = sizeof (EFI_IFR_TYPE_VALUE);
+ break;
+ }
+ Size += OFFSET_OF (EFI_IFR_ONE_OF_OPTION, Value);
+ CIfrOneOfOption OOOObj (Size);
>>
- L:Option << OOOObj.SetLineNo(L->getLine()); >>
+ L:Option <<
+ OOOObj.SetLineNo(L->getLine());
+ if (TypeError) {
+ _PCATCH (VFR_RETURN_FATAL_ERROR, L->getLine(), "Get data type error.");
+ }
+ >>
Text "=" "STRING_TOKEN" "\(" S:Number "\)" "," << OOOObj.SetOption (_STOSID(S->getText())); >>
Value "=" vfrConstantValueField[_GET_CURRQEST_DATATYPE()] >[Val] ","
<<
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yd...@us...> - 2012-12-17 04:48:24
|
Revision: 2565
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2565&view=rev
Author: ydong10
Date: 2012-12-17 04:48:18 +0000 (Mon, 17 Dec 2012)
Log Message:
-----------
For default opcode, generate binary data base on the input type info.
Signed-off-by: Eric Dong <eri...@in...>
Reviewed-by: Liming Gao <lim...@in...>
Modified Paths:
--------------
trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.h
trunk/BaseTools/Source/C/VfrCompile/VfrSyntax.g
Modified: trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.h
===================================================================
--- trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.h 2012-12-17 03:08:20 UTC (rev 2564)
+++ trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.h 2012-12-17 04:48:18 UTC (rev 2565)
@@ -922,14 +922,15 @@
public:
CIfrDefault (
+ IN UINT8 Size,
IN UINT16 DefaultId = EFI_HII_DEFAULT_CLASS_STANDARD,
IN UINT8 Type = EFI_IFR_TYPE_OTHER,
IN EFI_IFR_TYPE_VALUE Value = gZeroEfiIfrTypeValue
- ) : CIfrObj (EFI_IFR_DEFAULT_OP, (CHAR8 **)&mDefault),
- CIfrOpHeader (EFI_IFR_DEFAULT_OP, &mDefault->Header) {
+ ) : CIfrObj (EFI_IFR_DEFAULT_OP, (CHAR8 **)&mDefault, Size),
+ CIfrOpHeader (EFI_IFR_DEFAULT_OP, &mDefault->Header, Size) {
mDefault->Type = Type;
- mDefault->Value = Value;
mDefault->DefaultId = DefaultId;
+ memcpy (&(mDefault->Value), &Value, Size - OFFSET_OF (EFI_IFR_DEFAULT, Value));
}
VOID SetDefaultId (IN UINT16 DefaultId) {
@@ -941,7 +942,7 @@
}
VOID SetValue (IN EFI_IFR_TYPE_VALUE Value) {
- mDefault->Value = Value;
+ memcpy (&mDefault->Value, &Value, mDefault->Header.Length - OFFSET_OF (EFI_IFR_DEFAULT, Value));
}
};
Modified: trunk/BaseTools/Source/C/VfrCompile/VfrSyntax.g
===================================================================
--- trunk/BaseTools/Source/C/VfrCompile/VfrSyntax.g 2012-12-17 03:08:20 UTC (rev 2564)
+++ trunk/BaseTools/Source/C/VfrCompile/VfrSyntax.g 2012-12-17 04:48:18 UTC (rev 2565)
@@ -1472,6 +1472,8 @@
EFI_DEFAULT_ID DefaultId = EFI_HII_DEFAULT_CLASS_STANDARD;
CHAR8 *VarStoreName = NULL;
EFI_VFR_VARSTORE_TYPE VarStoreType = EFI_VFR_VARSTORE_INVALID;
+ UINT8 Size = 0;
+ BOOLEAN TypeError = FALSE;
>>
D:Default
(
@@ -1484,7 +1486,53 @@
_PCATCH (VFR_RETURN_INVALID_PARAMETER, D->getLine(), "Numeric default value must be between MinValue and MaxValue.");
}
}
- DObj = new CIfrDefault;
+ switch (_GET_CURRQEST_DATATYPE()) {
+ case EFI_IFR_TYPE_NUM_SIZE_8:
+ Size = 1;
+ break;
+
+ case EFI_IFR_TYPE_NUM_SIZE_16:
+ Size = 2;
+ break;
+
+ case EFI_IFR_TYPE_NUM_SIZE_32:
+ Size = 4;
+ break;
+
+ case EFI_IFR_TYPE_NUM_SIZE_64:
+ Size = 8;
+ break;
+
+ case EFI_IFR_TYPE_DATE:
+ Size = 4;
+ break;
+
+ case EFI_IFR_TYPE_TIME:
+ Size = 3;
+ break;
+
+ case EFI_IFR_TYPE_REF:
+ Size = 22;
+ break;
+
+ case EFI_IFR_TYPE_STRING:
+ Size = 2;
+ break;
+
+ case EFI_IFR_TYPE_BOOLEAN:
+ Size = 1;
+ break;
+
+ default:
+ TypeError = TRUE;
+ Size = sizeof (EFI_IFR_TYPE_VALUE);
+ break;
+ }
+ if (TypeError) {
+ _PCATCH (VFR_RETURN_FATAL_ERROR, D->getLine(), "Default data type error.");
+ }
+ Size += OFFSET_OF (EFI_IFR_DEFAULT, Value);
+ DObj = new CIfrDefault (Size);
DObj->SetLineNo(D->getLine());
DObj->SetType (_GET_CURRQEST_DATATYPE());
DObj->SetValue(Val);
@@ -1991,6 +2039,7 @@
CHAR8 *VarIdStr[3] = {NULL, };
CIfrDate DObj;
EFI_IFR_TYPE_VALUE Val = gZeroEfiIfrTypeValue;
+ UINT8 Size = OFFSET_OF (EFI_IFR_DEFAULT, Value) + sizeof (EFI_HII_DATE);
>>
L:Date << DObj.SetLineNo(L->getLine()); >>
(
@@ -2027,7 +2076,7 @@
DObj.SetHelp (_STOSID(YH->getText()));
if (VarIdStr[0] != NULL) { delete VarIdStr[0]; } if (VarIdStr[1] != NULL) { delete VarIdStr[1]; } if (VarIdStr[2] != NULL) { delete VarIdStr[2]; }
>>
- << {CIfrDefault DefaultObj(EFI_HII_DEFAULT_CLASS_STANDARD, EFI_IFR_TYPE_DATE, Val); DefaultObj.SetLineNo(L->getLine());} >>
+ << {CIfrDefault DefaultObj(Size, EFI_HII_DEFAULT_CLASS_STANDARD, EFI_IFR_TYPE_DATE, Val); DefaultObj.SetLineNo(L->getLine());} >>
)
( vfrStatementInconsistentIf )*
)
@@ -2452,6 +2501,7 @@
CHAR8 *VarIdStr[3] = {NULL, };
CIfrTime TObj;
EFI_IFR_TYPE_VALUE Val = gZeroEfiIfrTypeValue;
+ UINT8 Size = OFFSET_OF (EFI_IFR_DEFAULT, Value) + sizeof (EFI_HII_TIME);
>>
L:Time << TObj.SetLineNo(L->getLine()); >>
(
@@ -2488,7 +2538,7 @@
TObj.SetHelp (_STOSID(HH->getText()));
if (VarIdStr[0] != NULL) { delete VarIdStr[0]; } if (VarIdStr[1] != NULL) { delete VarIdStr[1]; } if (VarIdStr[2] != NULL) { delete VarIdStr[2]; }
>>
- << {CIfrDefault DefaultObj(EFI_HII_DEFAULT_CLASS_STANDARD, EFI_IFR_TYPE_TIME, Val); DefaultObj.SetLineNo(L->getLine());} >>
+ << {CIfrDefault DefaultObj(Size, EFI_HII_DEFAULT_CLASS_STANDARD, EFI_IFR_TYPE_TIME, Val); DefaultObj.SetLineNo(L->getLine());} >>
)
( vfrStatementInconsistentIf )*
)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yd...@us...> - 2012-12-17 03:08:29
|
Revision: 2564
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2564&view=rev
Author: ydong10
Date: 2012-12-17 03:08:20 +0000 (Mon, 17 Dec 2012)
Log Message:
-----------
Enhance to check for the return status of the function.
Signed-off-by: Eric Dong <eri...@in...>
Reviewed-by: Liming Gao <lim...@in...>
Modified Paths:
--------------
trunk/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp
trunk/BaseTools/Source/C/VfrCompile/VfrSyntax.g
Modified: trunk/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp
===================================================================
--- trunk/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp 2012-11-02 05:39:20 UTC (rev 2563)
+++ trunk/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp 2012-12-17 03:08:20 UTC (rev 2564)
@@ -596,6 +596,10 @@
{
EFI_VFR_RETURN_CODE Status;
+ if (!IS_RUN_STATUS(STATUS_COMPILEED)) {
+ return;
+ }
+
UpdateInfoForDynamicOpcode ();
//
Modified: trunk/BaseTools/Source/C/VfrCompile/VfrSyntax.g
===================================================================
--- trunk/BaseTools/Source/C/VfrCompile/VfrSyntax.g 2012-11-02 05:39:20 UTC (rev 2563)
+++ trunk/BaseTools/Source/C/VfrCompile/VfrSyntax.g 2012-12-17 03:08:20 UTC (rev 2564)
@@ -591,7 +591,7 @@
// Declare undefined Question so that they can be used in expression.
//
if (gCFormPkg.HavePendingUnassigned()) {
- gCFormPkg.DeclarePendingQuestion (
+ mParserStatus += gCFormPkg.DeclarePendingQuestion (
gCVfrVarDataTypeDB,
mCVfrDataStorage,
mCVfrQuestionDB,
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <hc...@us...> - 2012-11-02 05:39:27
|
Revision: 2563
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2563&view=rev
Author: hchen30
Date: 2012-11-02 05:39:20 +0000 (Fri, 02 Nov 2012)
Log Message:
-----------
Change the type of HashType from UINT32 to EFI_GUID to follow UEFI spec.
Assigned-by: Hess Chen (hes...@in...)
Reviewed-by: Jiewen Yao (jie...@in...)
Modified Paths:
--------------
trunk/BaseTools/Source/C/Include/Common/UefiMultiPhase.h
Modified: trunk/BaseTools/Source/C/Include/Common/UefiMultiPhase.h
===================================================================
--- trunk/BaseTools/Source/C/Include/Common/UefiMultiPhase.h 2012-10-30 08:30:45 UTC (rev 2562)
+++ trunk/BaseTools/Source/C/Include/Common/UefiMultiPhase.h 2012-11-02 05:39:20 UTC (rev 2563)
@@ -117,9 +117,9 @@
// WIN_CERTIFICATE_UEFI_GUID.CertData
//
typedef struct _EFI_CERT_BLOCK_RSA_2048_SHA256 {
- UINT32 HashType;
- UINT8 PublicKey[256];
- UINT8 Signature[256];
+ EFI_GUID HashType;
+ UINT8 PublicKey[256];
+ UINT8 Signature[256];
} EFI_CERT_BLOCK_RSA_2048_SHA256;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lg...@us...> - 2012-10-30 08:30:56
|
Revision: 2562
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2562&view=rev
Author: lgao4
Date: 2012-10-30 08:30:45 +0000 (Tue, 30 Oct 2012)
Log Message:
-----------
Fix comment typo to use UEFI spec defined WIN_CERT_TYPE_EFI_GUID.
Signed-off-by: Liming Gao <lim...@in...>
Reviewed-by: Guo Dong <don...@in...>
Modified Paths:
--------------
trunk/BaseTools/Source/C/Include/Common/UefiMultiPhase.h
Modified: trunk/BaseTools/Source/C/Include/Common/UefiMultiPhase.h
===================================================================
--- trunk/BaseTools/Source/C/Include/Common/UefiMultiPhase.h 2012-10-30 02:11:17 UTC (rev 2561)
+++ trunk/BaseTools/Source/C/Include/Common/UefiMultiPhase.h 2012-10-30 08:30:45 UTC (rev 2562)
@@ -1,7 +1,7 @@
/** @file
This includes some definitions introduced in UEFI that will be used in both PEI and DXE phases.
- Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available
under the terms and conditions of the BSD License which accompanies this
@@ -127,7 +127,7 @@
@param Hdr This is the standard WIN_CERTIFICATE header, where
wCertificateType is set to
- WIN_CERT_TYPE_UEFI_GUID.
+ WIN_CERT_TYPE_EFI_GUID.
@param CertType This is the unique id which determines the
format of the CertData. In this case, the
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yd...@us...> - 2012-10-30 02:11:24
|
Revision: 2561
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2561&view=rev
Author: ydong10
Date: 2012-10-30 02:11:17 +0000 (Tue, 30 Oct 2012)
Log Message:
-----------
Correct the definition for Modal opcode, from EFI_IFR_MODAL to EFI_IFR_MODAL_TAG
Signed-off-by: Eric Dong <eri...@in...>
Reviewed-by: Liming Gao <lim...@in...>
Modified Paths:
--------------
trunk/BaseTools/Source/C/Include/Common/UefiInternalFormRepresentation.h
trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp
trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.h
Modified: trunk/BaseTools/Source/C/Include/Common/UefiInternalFormRepresentation.h
===================================================================
--- trunk/BaseTools/Source/C/Include/Common/UefiInternalFormRepresentation.h 2012-10-25 23:14:06 UTC (rev 2560)
+++ trunk/BaseTools/Source/C/Include/Common/UefiInternalFormRepresentation.h 2012-10-30 02:11:17 UTC (rev 2561)
@@ -783,9 +783,9 @@
EFI_IMAGE_ID Id;
} EFI_IFR_IMAGE;
-typedef struct _EFI_IFR_MODAL {
+typedef struct _EFI_IFR_MODAL_TAG {
EFI_IFR_OP_HEADER Header;
-} EFI_IFR_MODAL;
+} EFI_IFR_MODAL_TAG;
typedef struct _EFI_IFR_LOCKED {
EFI_IFR_OP_HEADER Header;
Modified: trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp
===================================================================
--- trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp 2012-10-25 23:14:06 UTC (rev 2560)
+++ trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp 2012-10-30 02:11:17 UTC (rev 2561)
@@ -1657,7 +1657,7 @@
{ sizeof (EFI_IFR_CATENATE), 0 }, // EFI_IFR_CATENATE_OP
{ sizeof (EFI_IFR_GUID), 0 }, // EFI_IFR_GUID_OP
{ sizeof (EFI_IFR_SECURITY), 0 }, // EFI_IFR_SECURITY_OP - 0x60
- { sizeof (EFI_IFR_MODAL), 0}, // EFI_IFR_MODAL_OP - 0x61
+ { sizeof (EFI_IFR_MODAL_TAG), 0}, // EFI_IFR_MODAL_TAG_OP - 0x61
{ sizeof (EFI_IFR_REFRESH_ID), 0}, // EFI_IFR_REFRESH_ID_OP - 0x62
};
@@ -1681,7 +1681,7 @@
"EFI_IFR_STRING_REF1","EFI_IFR_STRING_REF2", "EFI_IFR_CONDITIONAL", "EFI_IFR_QUESTION_REF3", "EFI_IFR_ZERO", "EFI_IFR_ONE",
"EFI_IFR_ONES", "EFI_IFR_UNDEFINED", "EFI_IFR_LENGTH", "EFI_IFR_DUP", "EFI_IFR_THIS", "EFI_IFR_SPAN",
"EFI_IFR_VALUE", "EFI_IFR_DEFAULT", "EFI_IFR_DEFAULTSTORE", "EFI_IFR_FORM_MAP", "EFI_IFR_CATENATE", "EFI_IFR_GUID",
- "EFI_IFR_SECURITY", "EFI_IFR_MODAL", "EFI_IFR_REFRESH_ID",
+ "EFI_IFR_SECURITY", "EFI_IFR_MODAL_TAG", "EFI_IFR_REFRESH_ID",
};
VOID
Modified: trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.h
===================================================================
--- trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.h 2012-10-25 23:14:06 UTC (rev 2560)
+++ trunk/BaseTools/Source/C/VfrCompile/VfrFormPkg.h 2012-10-30 02:11:17 UTC (rev 2561)
@@ -880,7 +880,7 @@
class CIfrModal : public CIfrObj, public CIfrOpHeader {
private:
- EFI_IFR_MODAL *mModal;
+ EFI_IFR_MODAL_TAG *mModal;
public:
CIfrModal () : CIfrObj (EFI_IFR_MODAL_TAG_OP, (CHAR8 **)&mModal),
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lh...@us...> - 2012-10-25 23:14:13
|
Revision: 2560
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2560&view=rev
Author: lhauch
Date: 2012-10-25 23:14:06 +0000 (Thu, 25 Oct 2012)
Log Message:
-----------
Updating latest using latest approved versions of the tools
Modified Paths:
--------------
DevelopmentTools/PythonPkgs/Linux/README.txt
Added Paths:
-----------
DevelopmentTools/PythonPkgs/Linux/Python-2.7.3.tar.bz2
DevelopmentTools/PythonPkgs/Linux/cx_Freeze-4.2.3.tar.bz2
DevelopmentTools/PythonPkgs/Linux/setuptools-0.6c11.tar.gz
DevelopmentTools/PythonPkgs/Linux/wxPython-src-2.9.3.1.tar.bz2
Removed Paths:
-------------
DevelopmentTools/PythonPkgs/Linux/PyInstaller_1.3modified.tar.bz2
DevelopmentTools/PythonPkgs/Linux/Python-2.7.2.tar.bz2
DevelopmentTools/PythonPkgs/Linux/antlr_python_runtime-3.1.2.tar.gz
DevelopmentTools/PythonPkgs/Linux/cx_Freeze-4.2.3-py27-1.i386.rpm
DevelopmentTools/PythonPkgs/Linux/pyinstaller-1.4.tar.bz2
DevelopmentTools/PythonPkgs/Linux/wxPython-src-2.8.1.1.tar.bz2
DevelopmentTools/PythonPkgs/Linux/wxPython-src-2.8.10.1.tar.bz2
Deleted: DevelopmentTools/PythonPkgs/Linux/PyInstaller_1.3modified.tar.bz2
===================================================================
(Binary files differ)
Deleted: DevelopmentTools/PythonPkgs/Linux/Python-2.7.2.tar.bz2
===================================================================
(Binary files differ)
Added: DevelopmentTools/PythonPkgs/Linux/Python-2.7.3.tar.bz2
===================================================================
(Binary files differ)
Property changes on: DevelopmentTools/PythonPkgs/Linux/Python-2.7.3.tar.bz2
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: DevelopmentTools/PythonPkgs/Linux/README.txt
===================================================================
--- DevelopmentTools/PythonPkgs/Linux/README.txt 2012-10-25 22:46:40 UTC (rev 2559)
+++ DevelopmentTools/PythonPkgs/Linux/README.txt 2012-10-25 23:14:06 UTC (rev 2560)
@@ -22,17 +22,15 @@
--------
README.txt
- This File
- python-2.5.2.tar.bz2
- - Python 2.5.2
- wxPython-src-2.8.10.tar.bz2
+ python-2.7.3.tar.bz2
+ - Python 2.7.#
+ wxPython-src-2.8.12.1.tar.bz2
- wxPython 2.8, for GUI development
- cx_Freeze-3.0.3-source.tar.gz
+ cx_Freeze-4.2.3.tar.bz2
- Create standalone application
cx_Freeze_LICENSE.txt
- cx_Freeze License
- pyinstaller-1.4.tar.bz2
- - Create standalone universal apps for Linux.
- antlr_python_runtime-3.1.2.tar.gz
+ antlr_python_runtime-3.1.3.tar.gz
- Antlr3 Python runtime libraries for EOT parser
(EOT - Execution Order report Tool)
@@ -43,7 +41,7 @@
wxPython
http://www.wxpython.org/
cx_Freeze
- http://starship.python.net/crew/atuining/cx_Freeze/index.html
+ http://cx-freeze.sourceforge.net/
PyInstaller
http://www.pyinstaller.org/
antlr3
@@ -58,7 +56,7 @@
WLL v3.1
http://www.opensource.org/licenses/wxwindows.php
cx_Freeze Custom
- http://starship.python.net/crew/atuining/cx_Freeze/index.html
+ http://cx-freeze.sourceforge.net
pyInstaller GPL v2 (modified)
http://www.pyinstaller.org/browser/trunk/doc/LICENSE.GPL#latest
antlr3-runtime BSD
@@ -71,7 +69,7 @@
wxPython
http://wxpython.wxcommunity.com/docs/api/
cx_Freeze
- http://starship.python.net/crew/atuining/cx_Freeze/index.html
+ http://cx-freeze.sourceforge.net/
PyInstaller
http://www.pyinstaller.org/
antlr3
@@ -80,11 +78,11 @@
Download
--------
python
- http://www.python.org/download/releases/2.5/
+ http://www.python.org/download/releases/2.7.3/
wxPython
http://wxpython.org/download.php
cx_Freeze
- http://starship.python.net/crew/atuining/cx_Freeze/index.html
+ http://cx-freeze.sourceforge.net
PyInstaller
http://www.pyinstaller.org/
antlr3
@@ -97,8 +95,21 @@
There is no guarantee that the current BaseTools will function with
these versions.
python 2.7.2 Python-2.7.2.tar.bz2
-wxPtyhon 2.8 wxPython-src-2.8.12.1.tar.gz
-Antlr3(runtime) 3.1.3 antlr_python_runtime-3.1.3.tar.gz
-pyInstaller 1.5.1 pyinstaller-1.5.1.tar.bz2
+wxPtyhon 2.9.3.1 wxPython-src-2.9.3.1.tar.gz
----------------------------------------------------------------------
+Install Python, then install the setuptools package.
+The antlr_python_runtime package and cx_Freeze packages can be installed
+next.
+The wxPython package requires some special handling.
+After extracting the sources, cd to the source/wxPython directory.
+execute the script:
+build-wxpython --build_dir=../mybld --unicode --installdir=/usr/local --wxpy_installdir=/usr/local --install
+After the above command completes, cd to ../mybld then run make install
+After the install completes (the install creates the shared libraries in the /usr/local/lib directory)
+modify the /etc/ld.conf file to include the following lines:
+/usr/local/lib
+/usr/local/lib/python2.7/site-packages/cx_Freeze
+/usr/local/lib/python2.7/site-packages/wx-2.9.3-gtk2
+After making the changes, execute /sbin/ldconfig.
+
Deleted: DevelopmentTools/PythonPkgs/Linux/antlr_python_runtime-3.1.2.tar.gz
===================================================================
(Binary files differ)
Deleted: DevelopmentTools/PythonPkgs/Linux/cx_Freeze-4.2.3-py27-1.i386.rpm
===================================================================
(Binary files differ)
Added: DevelopmentTools/PythonPkgs/Linux/cx_Freeze-4.2.3.tar.bz2
===================================================================
(Binary files differ)
Property changes on: DevelopmentTools/PythonPkgs/Linux/cx_Freeze-4.2.3.tar.bz2
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Deleted: DevelopmentTools/PythonPkgs/Linux/pyinstaller-1.4.tar.bz2
===================================================================
(Binary files differ)
Added: DevelopmentTools/PythonPkgs/Linux/setuptools-0.6c11.tar.gz
===================================================================
(Binary files differ)
Property changes on: DevelopmentTools/PythonPkgs/Linux/setuptools-0.6c11.tar.gz
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Deleted: DevelopmentTools/PythonPkgs/Linux/wxPython-src-2.8.1.1.tar.bz2
===================================================================
(Binary files differ)
Deleted: DevelopmentTools/PythonPkgs/Linux/wxPython-src-2.8.10.1.tar.bz2
===================================================================
(Binary files differ)
Added: DevelopmentTools/PythonPkgs/Linux/wxPython-src-2.9.3.1.tar.bz2
===================================================================
(Binary files differ)
Property changes on: DevelopmentTools/PythonPkgs/Linux/wxPython-src-2.9.3.1.tar.bz2
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lh...@us...> - 2012-10-25 22:46:46
|
Revision: 2559
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2559&view=rev
Author: lhauch
Date: 2012-10-25 22:46:40 +0000 (Thu, 25 Oct 2012)
Log Message:
-----------
Updating latest using latest approved versions of the tools
Modified Paths:
--------------
DevelopmentTools/PythonPkgs/Win32/README.txt
Added Paths:
-----------
DevelopmentTools/PythonPkgs/Win32/python-2.7.3.msi
Removed Paths:
-------------
DevelopmentTools/PythonPkgs/Win32/antlr_python_runtime-3.1.2-py2.5.zip
DevelopmentTools/PythonPkgs/Win32/python-2.7.2.msi
DevelopmentTools/PythonPkgs/Win32/wxPython2.8-win32-unicode-2.8.11.0-py25.exe
Modified: DevelopmentTools/PythonPkgs/Win32/README.txt
===================================================================
--- DevelopmentTools/PythonPkgs/Win32/README.txt 2012-10-22 10:21:41 UTC (rev 2558)
+++ DevelopmentTools/PythonPkgs/Win32/README.txt 2012-10-25 22:46:40 UTC (rev 2559)
@@ -8,7 +8,7 @@
* Other names and brands may be claimed as the
property of others.
-Copyright (c) 2007 - 2011, Intel Corporation
+Copyright (c) 2007 - 2012, Intel Corporation
This directory contains the Python and Python Packages
that can be installed on Microsoft* Windows IA32
@@ -23,13 +23,13 @@
--------
README.txt
- This File
- python-2.5.4.msi
- - Python 2.5.4
- wxPython2.8-win32-unicode-2.8.10.1-py25.exe
- - wxPython 2.8, for GUI development
- pyinstaller-1.4.zip
- - pyInstaller 1.4 for generating redistributable binaries
- antlr_python_runtime-3.1.2-py25.zip
+ python-2.7.3.msi
+ - Python 2.7.3
+ wxPython2.8-win32-unicode-2.8.12.1-py27.exe
+ - wxPython 2.9, for GUI development
+ cx_Freeze-4.2.3.win32-py27.msi
+ - cxFreeze for generating redistributable binaries
+ antlr_python_runtime-3.1.3.zip
- Antlr3 Python runtime libraries for EOT parser
(EOT - Execution Order report Tool)
@@ -37,7 +37,7 @@
---------
python http://www.python.org/
wxPython http://www.wxpython.org/
-cx_Freeze http://www.pyinstaller.org/
+cx_Freeze http://cx-freeze.sourceforge.net/
antlr3 http://www.antlr.org/
pyInstaller http://www.pyinstaller.org/
@@ -65,20 +65,20 @@
pyInstaller
http://www.pyinstaller.org/
cx_Freeze
- http://starship.python.net/crew/atuining/cx_Freeze/index.html
+ http://cx-freeze.sourceforge.net
antlr3
http://www.antlr.org/api/Python/index.html
Download
--------
python
- http://www.python.org/download/releases/2.5.4/
+ http://www.python.org/download/releases/2.7.3/
wxPython
http://wxpython.org/download.php
pyInstaller
http://www.pyinstaller.org/
cx_Freeze
- http://starship.python.net/crew/atuining/cx_Freeze/index.html
+ http://cx-freeze.sourceforge.net/
antlr3
http://www.antlr.org/download/Python
@@ -89,8 +89,8 @@
There is no guaranteethat the current BaseTools will function with
these versions.
- python 2.7.2 python-2.7.2.msi
- wxPtyhon 2.8 wxPython2.8-win32-unicode-2.8.12.1-py27.exe
+ python 2.7.3 python-2.7.3.msi
+ wxPtyhon 2.9 wxPython2.9-win32-2.9.3.1-py27.exe
cx_Freeze 4.2.3 cx_Freeze-4.2.3.win32-py2.7.msi
Antlr3(runtime) 3.1.3 antlr_python_runtime-3.1.3.zip
pyInstaller 1.5.1 pyinstaller-1.5.1.zip
Deleted: DevelopmentTools/PythonPkgs/Win32/antlr_python_runtime-3.1.2-py2.5.zip
===================================================================
(Binary files differ)
Deleted: DevelopmentTools/PythonPkgs/Win32/python-2.7.2.msi
===================================================================
(Binary files differ)
Added: DevelopmentTools/PythonPkgs/Win32/python-2.7.3.msi
===================================================================
(Binary files differ)
Property changes on: DevelopmentTools/PythonPkgs/Win32/python-2.7.3.msi
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Deleted: DevelopmentTools/PythonPkgs/Win32/wxPython2.8-win32-unicode-2.8.11.0-py25.exe
===================================================================
(Binary files differ)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yd...@us...> - 2012-10-22 10:21:47
|
Revision: 2558
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2558&view=rev
Author: ydong10
Date: 2012-10-22 10:21:41 +0000 (Mon, 22 Oct 2012)
Log Message:
-----------
Refine the logic to make sure the long keyword parse before the short one.
Signed-off-by: Eric Dong <eri...@in...>
Reviewed-by: Liming Gao <lim...@in...>
Modified Paths:
--------------
trunk/BaseTools/Source/Python/AutoGen/UniClassObject.py
Modified: trunk/BaseTools/Source/Python/AutoGen/UniClassObject.py
===================================================================
--- trunk/BaseTools/Source/Python/AutoGen/UniClassObject.py 2012-10-18 15:57:46 UTC (rev 2557)
+++ trunk/BaseTools/Source/Python/AutoGen/UniClassObject.py 2012-10-22 10:21:41 UTC (rev 2558)
@@ -335,17 +335,16 @@
Line = Line.replace(u'/include', u'#include')
Line = Line.replace(u'\\\\', u'\u0006')
+ Line = Line.replace(UNICODE_WIDE_CHAR, WIDE_CHAR)
+ Line = Line.replace(UNICODE_NARROW_CHAR, NARROW_CHAR)
+ Line = Line.replace(UNICODE_NON_BREAKING_CHAR, NON_BREAKING_CHAR)
+
Line = Line.replace(u'\\r\\n', CR + LF)
Line = Line.replace(u'\\n', CR + LF)
Line = Line.replace(u'\\r', CR)
Line = Line.replace(u'\\t', u'\t')
Line = Line.replace(u'''\"''', u'''"''')
Line = Line.replace(u'\t', u' ')
-
- Line = Line.replace(UNICODE_WIDE_CHAR, WIDE_CHAR)
- Line = Line.replace(UNICODE_NARROW_CHAR, NARROW_CHAR)
- Line = Line.replace(UNICODE_NON_BREAKING_CHAR, NON_BREAKING_CHAR)
-
Line = Line.replace(u'\u0006', u'\\')
# if Line.find(u'\\x'):
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <oli...@us...> - 2012-10-18 15:57:52
|
Revision: 2557
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2557&view=rev
Author: oliviermartin
Date: 2012-10-18 15:57:46 +0000 (Thu, 18 Oct 2012)
Log Message:
-----------
BaseTools/Conf: Fix tools_def.template for ARMLINUXGCC
Fix builds using ARMLINUXGCC version 4.6.3.
- GCC 4.6 turns the stack protector on by default. This patch disables it.
- some BSPs require unaligned accesses to be disabled
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ryan Harkin <rya...@li...>
Reviewed-by: Olivier Martin <oli...@ar...>
Modified Paths:
--------------
trunk/BaseTools/Conf/tools_def.template
Modified: trunk/BaseTools/Conf/tools_def.template
===================================================================
--- trunk/BaseTools/Conf/tools_def.template 2012-10-18 15:51:38 UTC (rev 2556)
+++ trunk/BaseTools/Conf/tools_def.template 2012-10-18 15:57:46 UTC (rev 2557)
@@ -4980,8 +4980,8 @@
*_ARMLINUXGCC_ARM_SLINK_FLAGS = -rc
*_ARMLINUXGCC_ARM_DLINK_FLAGS = $(ARCHDLINK_FLAGS) -Ttext=0x0 --oformat=elf32-littlearm --emit-relocs -nostdlib -u $(IMAGE_ENTRY_POINT) -e $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
- DEBUG_ARMLINUXGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARMGCC_CC_FLAGS) -O0
-RELEASE_ARMLINUXGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARMGCC_CC_FLAGS) -Wno-unused-but-set-variable
+ DEBUG_ARMLINUXGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARMGCC_CC_FLAGS) -fno-stack-protector -mno-unaligned-access -O0
+RELEASE_ARMLINUXGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARMGCC_CC_FLAGS) -fno-stack-protector -mno-unaligned-access -Wno-unused-but-set-variable
#################
# ASM 16 linker defintions
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <oli...@us...> - 2012-10-18 15:51:48
|
Revision: 2556
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2556&view=rev
Author: oliviermartin
Date: 2012-10-18 15:51:38 +0000 (Thu, 18 Oct 2012)
Log Message:
-----------
BaseTools/Conf: Treat warnings as errors (ARM RVCT)
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <oli...@ar...>
Modified Paths:
--------------
trunk/BaseTools/Conf/tools_def.template
Modified: trunk/BaseTools/Conf/tools_def.template
===================================================================
--- trunk/BaseTools/Conf/tools_def.template 2012-10-18 15:46:57 UTC (rev 2555)
+++ trunk/BaseTools/Conf/tools_def.template 2012-10-18 15:51:38 UTC (rev 2556)
@@ -4736,7 +4736,8 @@
#
####################################################################################
-DEFINE RVCT_ALL_CC_FLAGS = --c90 -c --no_autoinline --asm --gnu --apcs /interwork --signed_chars --no_unaligned_access --split_sections --enum_is_int --preinclude AutoGen.h --diag_warning 167 --diag_style=ide
+DEFINE RVCT_ALL_ASM_FLAGS = --diag_suppress=1786 --diag_error=warning --apcs /interwork
+DEFINE RVCT_ALL_CC_FLAGS = --c90 -c --no_autoinline --asm --gnu --apcs /interwork --signed_chars --no_unaligned_access --split_sections --enum_is_int --preinclude AutoGen.h --diag_suppress=186 --diag_warning 167 --diag_error=warning --diag_style=ide
DEFINE RVCT_ALL_DLINK_FLAGS = --ro-base 0 --no_scanlib --reloc --no_exceptions --datacompressor off --strict --symbols --diag_style=ide
####################################################################################
@@ -4760,7 +4761,7 @@
RELEASE_RVCT_ARM_DLINK_FLAGS = $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list $(DEST_DIR_DEBUG)/$(BASE_NAME).map
-*_RVCT_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) --apcs /interwork
+*_RVCT_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_ASM_FLAGS)
*_RVCT_ARM_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E
*_RVCT_ARM_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E -DVFRCOMPILE --preinclude $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h
*_RVCT_ARM_MAKE_PATH = nmake /NOLOGO
@@ -4799,7 +4800,7 @@
DEBUG_RVCTLINUX_ARM_DLINK_FLAGS = $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list $(DEST_DIR_DEBUG)/$(BASE_NAME).map
RELEASE_RVCTLINUX_ARM_DLINK_FLAGS = $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list $(DEST_DIR_DEBUG)/$(BASE_NAME).map
-*_RVCTLINUX_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) --apcs /interwork
+*_RVCTLINUX_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_ASM_FLAGS)
*_RVCTLINUX_ARM_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E
*_RVCTLINUX_ARM_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E -DVFRCOMPILE --preinclude $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h
*_RVCTLINUX_ARM_MAKE_PATH = make
@@ -4847,7 +4848,7 @@
DEBUG_RVCTCYGWIN_ARM_DLINK_FLAGS = "$(DLINKPATH_FLAG)" $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list `cygpath -m $(DEST_DIR_DEBUG)/$(BASE_NAME).map`
RELEASE_RVCTCYGWIN_ARM_DLINK_FLAGS = "$(DLINKPATH_FLAG)" $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list `cygpath -m $(DEST_DIR_DEBUG)/$(BASE_NAME).map`
-*_RVCTCYGWIN_ARM_ASM_FLAGS = "$(ASMPATH_FLAG)" $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) --apcs /interwork
+*_RVCTCYGWIN_ARM_ASM_FLAGS = "$(ASMPATH_FLAG)" $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_ASM_FLAGS)
*_RVCTCYGWIN_ARM_PP_FLAGS = "$(CCPATH_FLAG)" $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E
*_RVCTCYGWIN_ARM_VFRPP_FLAGS = "$(CCPATH_FLAG)" $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E -DVFRCOMPILE --preinclude `cygpath -m $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h`
*_RVCTCYGWIN_ARM_MAKE_PATH = make
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <oli...@us...> - 2012-10-18 15:47:08
|
Revision: 2555
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2555&view=rev
Author: oliviermartin
Date: 2012-10-18 15:46:57 +0000 (Thu, 18 Oct 2012)
Log Message:
-----------
BaseTools/tools_def.template: Ignore warnings for unused variables in RELEASE builds
... for variables which are only used in DEBUG builds.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <oli...@ar...>
Modified Paths:
--------------
trunk/BaseTools/Conf/tools_def.template
Modified: trunk/BaseTools/Conf/tools_def.template
===================================================================
--- trunk/BaseTools/Conf/tools_def.template 2012-10-11 03:02:07 UTC (rev 2554)
+++ trunk/BaseTools/Conf/tools_def.template 2012-10-18 15:46:57 UTC (rev 2555)
@@ -4766,7 +4766,7 @@
*_RVCT_ARM_MAKE_PATH = nmake /NOLOGO
*_RVCT_ARM_SLINK_FLAGS = --partial -o
DEBUG_RVCT_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_CC_FLAGS) -O1 -g
-RELEASE_RVCT_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_CC_FLAGS) -O2
+RELEASE_RVCT_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) --diag_suppress=550 DEF(RVCT_ALL_CC_FLAGS) -O2
##################
# ARM definitions
@@ -4805,7 +4805,7 @@
*_RVCTLINUX_ARM_MAKE_PATH = make
*_RVCTLINUX_ARM_SLINK_FLAGS = --partial -o
DEBUG_RVCTLINUX_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_CC_FLAGS) -O1 -g
-RELEASE_RVCTLINUX_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_CC_FLAGS) -O2
+RELEASE_RVCTLINUX_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) --diag_suppress=550 DEF(RVCT_ALL_CC_FLAGS) -O2
##################
# ARM definitions
@@ -4853,7 +4853,7 @@
*_RVCTCYGWIN_ARM_MAKE_PATH = make
*_RVCTCYGWIN_ARM_SLINK_FLAGS = "$(SLINKPATH_FLAG)" --partial -o
DEBUG_RVCTCYGWIN_ARM_CC_FLAGS = "$(CCPATH_FLAG)" $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_CC_FLAGS) -O1 -g
-RELEASE_RVCTCYGWIN_ARM_CC_FLAGS = "$(CCPATH_FLAG)" $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_CC_FLAGS) -O2
+RELEASE_RVCTCYGWIN_ARM_CC_FLAGS = "$(CCPATH_FLAG)" $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) --diag_suppress=550 DEF(RVCT_ALL_CC_FLAGS) -O2
##################
# ARM definitions
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <yd...@us...> - 2012-10-11 03:02:14
|
Revision: 2554
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2554&view=rev
Author: ydong10
Date: 2012-10-11 03:02:07 +0000 (Thu, 11 Oct 2012)
Log Message:
-----------
Enable print special word for uni file.
Signed-off-by: Eric Dong <eri...@in...>
Reviewed-by: Liming Gao <lim...@in...>
Modified Paths:
--------------
trunk/BaseTools/Source/Python/AutoGen/UniClassObject.py
Modified: trunk/BaseTools/Source/Python/AutoGen/UniClassObject.py
===================================================================
--- trunk/BaseTools/Source/Python/AutoGen/UniClassObject.py 2012-09-27 11:28:48 UTC (rev 2553)
+++ trunk/BaseTools/Source/Python/AutoGen/UniClassObject.py 2012-10-11 03:02:07 UTC (rev 2554)
@@ -1,4 +1,4 @@
-# Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2007 - 2012, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
@@ -334,10 +334,6 @@
Line = Line.replace(u'/language', u'#language')
Line = Line.replace(u'/include', u'#include')
- Line = Line.replace(UNICODE_WIDE_CHAR, WIDE_CHAR)
- Line = Line.replace(UNICODE_NARROW_CHAR, NARROW_CHAR)
- Line = Line.replace(UNICODE_NON_BREAKING_CHAR, NON_BREAKING_CHAR)
-
Line = Line.replace(u'\\\\', u'\u0006')
Line = Line.replace(u'\\r\\n', CR + LF)
Line = Line.replace(u'\\n', CR + LF)
@@ -345,6 +341,11 @@
Line = Line.replace(u'\\t', u'\t')
Line = Line.replace(u'''\"''', u'''"''')
Line = Line.replace(u'\t', u' ')
+
+ Line = Line.replace(UNICODE_WIDE_CHAR, WIDE_CHAR)
+ Line = Line.replace(UNICODE_NARROW_CHAR, NARROW_CHAR)
+ Line = Line.replace(UNICODE_NON_BREAKING_CHAR, NON_BREAKING_CHAR)
+
Line = Line.replace(u'\u0006', u'\\')
# if Line.find(u'\\x'):
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|