]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Sync BaseTool trunk (version r2601) into EDKII BaseTools.
authorLiming Gao <liming.gao@intel.com>
Tue, 24 Sep 2013 07:13:44 +0000 (07:13 +0000)
committerlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 24 Sep 2013 07:13:44 +0000 (07:13 +0000)
Signed-off-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14710 6f19259b-4bc3-4df7-8a09-765794883524

33 files changed:
BaseTools/Bin/Win32/BPDG.exe
BaseTools/Bin/Win32/BootSectImage.exe
BaseTools/Bin/Win32/EfiLdrImage.exe
BaseTools/Bin/Win32/EfiRom.exe
BaseTools/Bin/Win32/GenBootSector.exe
BaseTools/Bin/Win32/GenCrc32.exe
BaseTools/Bin/Win32/GenDepex.exe
BaseTools/Bin/Win32/GenFds.exe
BaseTools/Bin/Win32/GenFfs.exe
BaseTools/Bin/Win32/GenFv.exe
BaseTools/Bin/Win32/GenFw.exe
BaseTools/Bin/Win32/GenPage.exe
BaseTools/Bin/Win32/GenPatchPcdTable.exe
BaseTools/Bin/Win32/GenSec.exe
BaseTools/Bin/Win32/GenVtf.exe
BaseTools/Bin/Win32/LzmaCompress.exe
BaseTools/Bin/Win32/PatchPcdValue.exe
BaseTools/Bin/Win32/Split.exe
BaseTools/Bin/Win32/TargetTool.exe
BaseTools/Bin/Win32/TianoCompress.exe
BaseTools/Bin/Win32/Trim.exe
BaseTools/Bin/Win32/UPT.exe
BaseTools/Bin/Win32/VfrCompile.exe
BaseTools/Bin/Win32/VolInfo.exe
BaseTools/Bin/Win32/build.exe
BaseTools/Source/C/Include/Common/BuildVersion.h
BaseTools/Source/C/Include/Common/UefiInternalFormRepresentation.h
BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp
BaseTools/Source/C/VfrCompile/VfrFormPkg.h
BaseTools/Source/C/VfrCompile/VfrSyntax.g
BaseTools/Source/Python/Common/BuildVersion.py
BaseTools/Source/Python/UPT/BuildVersion.py
BaseTools/Source/Python/Workspace/MetaFileParser.py

index 09137b60370a09924c893c2098ba959c9d29d950..1a684bb8739689fc7eb5f3ad685eb7ba7e6f201b 100644 (file)
Binary files a/BaseTools/Bin/Win32/BPDG.exe and b/BaseTools/Bin/Win32/BPDG.exe differ
index a37e779ae73cc20303e782dc7b0c43924c087d35..59b0b845850033cb9443bab8b076abc31018c344 100755 (executable)
Binary files a/BaseTools/Bin/Win32/BootSectImage.exe and b/BaseTools/Bin/Win32/BootSectImage.exe differ
index 29db3e2f416cb4f266c074542de94e680ef70973..c732a73306f16ff8964f28efb185d40c6a76b514 100755 (executable)
Binary files a/BaseTools/Bin/Win32/EfiLdrImage.exe and b/BaseTools/Bin/Win32/EfiLdrImage.exe differ
index 6aefa0d41ade149d902fb2ceb875e081a240c67a..2e761cc08de9b7be0cb4c1c82bf4f55df754419c 100755 (executable)
Binary files a/BaseTools/Bin/Win32/EfiRom.exe and b/BaseTools/Bin/Win32/EfiRom.exe differ
index 8bb35ac8357f17b7ec8459a8515828d98240ac41..84d67f9b83e1ac96aaf8ac6690f9eae99135b433 100755 (executable)
Binary files a/BaseTools/Bin/Win32/GenBootSector.exe and b/BaseTools/Bin/Win32/GenBootSector.exe differ
index a6009cd72aa8828721689c21fc8ccf805e7d1c84..cdefa75895e3a95c7216d70c12d458116098b5ab 100755 (executable)
Binary files a/BaseTools/Bin/Win32/GenCrc32.exe and b/BaseTools/Bin/Win32/GenCrc32.exe differ
index 3d05e761366ddcdccbe6876777d5c4195b0641ea..2d7e20f60f8fc3b9c908ad03af1e0c9771c31b40 100755 (executable)
Binary files a/BaseTools/Bin/Win32/GenDepex.exe and b/BaseTools/Bin/Win32/GenDepex.exe differ
index 9bc45a846a2391ebcf0fd07e238679d147b9d9fd..6d2a1aa55d966eef22babe1e13bd6942020effb7 100755 (executable)
Binary files a/BaseTools/Bin/Win32/GenFds.exe and b/BaseTools/Bin/Win32/GenFds.exe differ
index 632f7f3bb374120795ee56673d84125903e76ec1..b419b0d172fcfffaeb79414cd694c7e66f5ab8c7 100755 (executable)
Binary files a/BaseTools/Bin/Win32/GenFfs.exe and b/BaseTools/Bin/Win32/GenFfs.exe differ
index b87331335e35332bfe3ae8cc65f97807af59346e..c6e3ad656cd7fb11a3b4d35c1311206db8d5c196 100755 (executable)
Binary files a/BaseTools/Bin/Win32/GenFv.exe and b/BaseTools/Bin/Win32/GenFv.exe differ
index d47991f919b9be4ecfb99c81e931158bd9a88838..8e19c1724fe5a3f7a1cec8947f709bd6f95747ad 100755 (executable)
Binary files a/BaseTools/Bin/Win32/GenFw.exe and b/BaseTools/Bin/Win32/GenFw.exe differ
index 50806487c9e350cfba36cf5c618ddbbc2453af28..a2a95bd30fc87660c1e0883a125a60875fce5510 100755 (executable)
Binary files a/BaseTools/Bin/Win32/GenPage.exe and b/BaseTools/Bin/Win32/GenPage.exe differ
index a3ce036d43621c4f90577eac3af42d6782892d71..7f7aa5ab6fb38022f137fd8a66e698bcb5aa584c 100755 (executable)
Binary files a/BaseTools/Bin/Win32/GenPatchPcdTable.exe and b/BaseTools/Bin/Win32/GenPatchPcdTable.exe differ
index a79833599d17e6580ed878527605f190e222ef6d..2cb0c3b81390e24e3689256285a22cd214eba7cf 100755 (executable)
Binary files a/BaseTools/Bin/Win32/GenSec.exe and b/BaseTools/Bin/Win32/GenSec.exe differ
index a248c31f7a69abfb9cc44da35d61eb9092091fd3..7e38d68bac5e05934c8cc828a4fdc3a829a51204 100755 (executable)
Binary files a/BaseTools/Bin/Win32/GenVtf.exe and b/BaseTools/Bin/Win32/GenVtf.exe differ
index 456d67326838303c92d85e1169b3b005408bffa2..9838c0e9b118d98cd067e3cfccf44559bbd44199 100755 (executable)
Binary files a/BaseTools/Bin/Win32/LzmaCompress.exe and b/BaseTools/Bin/Win32/LzmaCompress.exe differ
index 48b24e22cb48627c6a282933954441d715f65dad..142d59a16cf20d774ac566b3f4750fbaa3460896 100755 (executable)
Binary files a/BaseTools/Bin/Win32/PatchPcdValue.exe and b/BaseTools/Bin/Win32/PatchPcdValue.exe differ
index 00000ac73932017895eed3ef1307c17d2c1ac978..254590bbe305871f4f7c939ea9f1ef665b995899 100755 (executable)
Binary files a/BaseTools/Bin/Win32/Split.exe and b/BaseTools/Bin/Win32/Split.exe differ
index bdaaf07260a167807691403c26d342b10ee0fde7..c8c23d5a37047ac87d9a4a67f74c91f791fa0180 100755 (executable)
Binary files a/BaseTools/Bin/Win32/TargetTool.exe and b/BaseTools/Bin/Win32/TargetTool.exe differ
index a65ba046b571321ef050708837ab239dd496123a..cdbe97f85e84cebbe701af8e8f867f6762d1854c 100755 (executable)
Binary files a/BaseTools/Bin/Win32/TianoCompress.exe and b/BaseTools/Bin/Win32/TianoCompress.exe differ
index 44edbab30d579b4f57de779a4b43f3fa6c53e632..056581b00bb8a4a66cd5024b6d1eec1811c33744 100755 (executable)
Binary files a/BaseTools/Bin/Win32/Trim.exe and b/BaseTools/Bin/Win32/Trim.exe differ
index a7060c7447223b16374d46a3e9a1d653ba527c88..3101afd618df528582f4f6a99d2566fad86b67ec 100644 (file)
Binary files a/BaseTools/Bin/Win32/UPT.exe and b/BaseTools/Bin/Win32/UPT.exe differ
index 20e1b43c93dfdcbb652b0648b46240ec5bdf82e7..1c1ca78f7ca1f993f631373944d9c47c298322f1 100755 (executable)
Binary files a/BaseTools/Bin/Win32/VfrCompile.exe and b/BaseTools/Bin/Win32/VfrCompile.exe differ
index 593784de3a78ce43cbb11ef1b9bb89a625b9f9e3..c042d9222b59212214be8a2114bd1fe4df4a5e94 100755 (executable)
Binary files a/BaseTools/Bin/Win32/VolInfo.exe and b/BaseTools/Bin/Win32/VolInfo.exe differ
index 2b74c9948f6fe9127c6490c6aa4995c56b7fdb5a..3c03283bdd79852ff1ff50c75dfb7ab9eef233b4 100755 (executable)
Binary files a/BaseTools/Bin/Win32/build.exe and b/BaseTools/Bin/Win32/build.exe differ
index 764bebfa933a494bda06034717520a3d7cbbaef8..f524cefc9b02bed07cfa33e0599e1037baf9a845 100644 (file)
@@ -14,4 +14,4 @@
 \r
 **/\r
 \r
-#define __BUILD_VERSION ""\r
+#define __BUILD_VERSION "Build 2601"\r
index 3cd22d134739908270d5603c393435554a55ab39..ea5f211e9b326d34a05ec8c81cbda7a721b69453 100644 (file)
@@ -3,7 +3,7 @@
   IFR is primarily consumed by the EFI presentation engine, and produced by EFI\r
   internal application and drivers as well as all add-in card option-ROM drivers\r
 \r
-  Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>\r
 \r
   This program and the accompanying materials are licensed and made available\r
   under the terms and conditions of the BSD License which accompanies this\r
@@ -691,6 +691,7 @@ typedef union {
 #define EFI_IFR_SECURITY_OP            0x60\r
 #define EFI_IFR_MODAL_TAG_OP           0x61\r
 #define EFI_IFR_REFRESH_ID_OP          0x62\r
+#define EFI_IFR_WARNING_IF_OP          0x63\r
 \r
 \r
 typedef struct _EFI_IFR_OP_HEADER {\r
@@ -1015,6 +1016,12 @@ typedef struct _EFI_IFR_NO_SUBMIT_IF {
   EFI_STRING_ID            Error;\r
 } EFI_IFR_NO_SUBMIT_IF;\r
 \r
+typedef struct _EFI_IFR_WARNING_IF {\r
+  EFI_IFR_OP_HEADER        Header;\r
+  EFI_STRING_ID            Warning;\r
+  UINT8                    TimeOut;\r
+} EFI_IFR_WARNING_IF;\r
+\r
 typedef struct _EFI_IFR_REFRESH {\r
   EFI_IFR_OP_HEADER        Header;\r
   UINT8                    RefreshInterval;\r
index 7cadf0f42b892654f10ea291add71a999b288b04..363ca82a241bfb46866f7f24d562f258b882529b 100644 (file)
@@ -1673,6 +1673,7 @@ static struct {
   { sizeof (EFI_IFR_SECURITY), 0 },            // EFI_IFR_SECURITY_OP - 0x60\r
   { sizeof (EFI_IFR_MODAL_TAG), 0},            // EFI_IFR_MODAL_TAG_OP - 0x61\r
   { sizeof (EFI_IFR_REFRESH_ID), 0},           // EFI_IFR_REFRESH_ID_OP - 0x62\r
+  { sizeof (EFI_IFR_WARNING_IF), 1},           // EFI_IFR_WARNING_IF_OP - 0x63\r
 };\r
 \r
 #ifdef CIFROBJ_DEUBG\r
@@ -1695,7 +1696,7 @@ static struct {
   "EFI_IFR_STRING_REF1","EFI_IFR_STRING_REF2",          "EFI_IFR_CONDITIONAL",   "EFI_IFR_QUESTION_REF3",   "EFI_IFR_ZERO",          "EFI_IFR_ONE",\r
   "EFI_IFR_ONES",       "EFI_IFR_UNDEFINED",            "EFI_IFR_LENGTH",        "EFI_IFR_DUP",             "EFI_IFR_THIS",          "EFI_IFR_SPAN",\r
   "EFI_IFR_VALUE",      "EFI_IFR_DEFAULT",              "EFI_IFR_DEFAULTSTORE",  "EFI_IFR_FORM_MAP",        "EFI_IFR_CATENATE",      "EFI_IFR_GUID",\r
-  "EFI_IFR_SECURITY",   "EFI_IFR_MODAL_TAG",            "EFI_IFR_REFRESH_ID",\r
+  "EFI_IFR_SECURITY",   "EFI_IFR_MODAL_TAG",            "EFI_IFR_REFRESH_ID",    "EFI_IFR_WARNING_IF",\r
 };\r
 \r
 VOID\r
index 614471060d7b16a1169bc5d8bf0c94a2617099a0..25280def9bbc779315cf320edf93e09bdaee11d2 100644 (file)
@@ -1612,6 +1612,26 @@ public:
   }\r
 };\r
 \r
+class CIfrWarningIf : public CIfrObj, public CIfrOpHeader {\r
+private:\r
+  EFI_IFR_WARNING_IF *mWarningIf;\r
+\r
+public:\r
+  CIfrWarningIf () : CIfrObj (EFI_IFR_WARNING_IF_OP, (CHAR8 **)&mWarningIf),\r
+                        CIfrOpHeader (EFI_IFR_WARNING_IF_OP, &mWarningIf->Header) {\r
+    mWarningIf->Warning = EFI_STRING_ID_INVALID;\r
+    mWarningIf->TimeOut = 0;\r
+  }\r
+\r
+  VOID SetWarning (IN EFI_STRING_ID Warning) {\r
+    mWarningIf->Warning = Warning;\r
+  }\r
+\r
+  VOID SetTimeOut (IN UINT8 TimeOut) {\r
+    mWarningIf->TimeOut = TimeOut;\r
+  }\r
+};\r
+\r
 class CIfrNoSubmitIf : public CIfrObj, public CIfrOpHeader {\r
 private:\r
   EFI_IFR_NO_SUBMIT_IF *mNoSubmitIf;\r
index 253834508ac42a49c61dfcedb548120735d6e010..61b68f5fb7aeea3625bfb74be091c0b39b412ddc 100644 (file)
@@ -184,6 +184,7 @@ VfrParserStart (
 #token Goto("goto")                             "goto"\r
 #token FormSetGuid("formsetguid")               "formsetguid"\r
 #token InconsistentIf("inconsistentif")         "inconsistentif"\r
+#token WarningIf("warningif")                   "warningif"\r
 #token NoSubmitIf("nosubmitif")                 "nosubmitif"\r
 #token EndIf("endif")                           "endif"\r
 #token Key("key")                               "key"\r
@@ -2627,7 +2628,8 @@ vfrStatementQuestionTag :
   vfrStatementRefresh           |\r
   vfrStatementVarstoreDevice    |\r
   vfrStatementExtension         |\r
-  vfrStatementRefreshEvent\r
+  vfrStatementRefreshEvent      |\r
+  vfrStatementWarningIf\r
   ;\r
 \r
 vfrStatementQuestionTagList :\r
@@ -2825,6 +2827,15 @@ vfrStatementNoSubmitIf :
   E:EndIf                                              << CRT_END_OP (E); >>\r
   ;\r
 \r
+vfrStatementWarningIf :\r
+  << CIfrWarningIf WIObj; >>\r
+  L:WarningIf                                          << WIObj.SetLineNo(L->getLine()); >>\r
+  Prompt "=" "STRING_TOKEN" "\(" S:Number "\)" ","     << WIObj.SetWarning (_STOSID(S->getText())); >>\r
+  {Timeout "=" T:Number ","                            << WIObj.SetTimeOut (_STOU8(T->getText())); >>}\r
+  vfrStatementExpression[0]\r
+  E:EndIf                                              << CRT_END_OP (E); >>\r
+  ;\r
+\r
 vfrStatementDisableIfQuest :\r
   << \r
     CIfrDisableIf DIObj; \r
index 7414d30f49eaed39241c26a71192e5227b760ae6..25546cdfe92094e8e4dbe331db4258c60e309281 100644 (file)
@@ -13,4 +13,4 @@
 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #\r
 \r
-gBUILD_VERSION = ""\r
+gBUILD_VERSION = "Build 2601"\r
index edd46967533b6e4616b5b7d6371d4d0f77920c06..fa6c26aa76a4b12bda2556a01a70d9b4a84b1404 100644 (file)
@@ -17,4 +17,4 @@
 Build version information\r
 '''\r
 \r
-gBUILD_VERSION = ""\r
+gBUILD_VERSION = "Build 2601"\r
index b2e98633af67bde0ebdefb8fde76b8599e8e8874..34000b5e8829d76b90e22c3ebe4c752f45a162f7 100644 (file)
@@ -827,6 +827,7 @@ class DscParser(MetaFileParser):
         except:
             EdkLogger.error("Parser", FILE_READ_FAILURE, ExtraData=self.MetaFile)
 
+        OwnerId = {}
         for Index in range(0, len(Content)):
             Line = CleanString(Content[Index])
             # skip empty line
@@ -847,6 +848,7 @@ class DscParser(MetaFileParser):
                 self._SubsectionType = MODEL_UNKNOWN
                 self._SubsectionName = ''
                 self._Owner[-1] = -1
+                OwnerId = {}
                 continue
             # subsection header
             elif Line[0] == TAB_OPTION_START and Line[-1] == TAB_OPTION_END:
@@ -871,6 +873,9 @@ class DscParser(MetaFileParser):
             # LineBegin=-1, ColumnBegin=-1, LineEnd=-1, ColumnEnd=-1, Enabled=-1
             #
             for Arch, ModuleType in self._Scope:
+                Owner = self._Owner[-1]
+                if self._SubsectionType != MODEL_UNKNOWN:
+                    Owner = OwnerId[Arch]
                 self._LastItem = self._Store(
                                         self._ItemType,
                                         self._ValueList[0],
@@ -878,7 +883,7 @@ class DscParser(MetaFileParser):
                                         self._ValueList[2],
                                         Arch,
                                         ModuleType,
-                                        self._Owner[-1],
+                                        Owner,
                                         self._From,
                                         self._LineIndex + 1,
                                         - 1,
@@ -886,6 +891,8 @@ class DscParser(MetaFileParser):
                                         - 1,
                                         self._Enabled
                                         )
+                if self._SubsectionType == MODEL_UNKNOWN and self._InSubsection:
+                    OwnerId[Arch] = self._LastItem
 
         if self._DirectiveStack:
             Type, Line, Text = self._DirectiveStack[-1]
@@ -1040,6 +1047,11 @@ class DscParser(MetaFileParser):
                             ExtraData=self._CurrentLine + " (<TokenSpaceGuidCName>.<TokenCName>|<PcdValue>)",
                             File=self.MetaFile, Line=self._LineIndex + 1)
         if self._ValueList[2] == '':
+            #
+            # The PCD values are optional for FIXEDATBUILD and PATCHABLEINMODULE
+            #
+            if self._SectionType in (MODEL_PCD_FIXED_AT_BUILD, MODEL_PCD_PATCHABLE_IN_MODULE):
+                return
             EdkLogger.error('Parser', FORMAT_INVALID, "No PCD value given",
                             ExtraData=self._CurrentLine + " (<TokenSpaceGuidCName>.<TokenCName>|<PcdValue>)",
                             File=self.MetaFile, Line=self._LineIndex + 1)