diff options
33 files changed, 58 insertions, 7 deletions
diff --git a/BaseTools/Bin/Win32/BPDG.exe b/BaseTools/Bin/Win32/BPDG.exe Binary files differindex 09137b6037..1a684bb873 100644 --- a/BaseTools/Bin/Win32/BPDG.exe +++ b/BaseTools/Bin/Win32/BPDG.exe diff --git a/BaseTools/Bin/Win32/BootSectImage.exe b/BaseTools/Bin/Win32/BootSectImage.exe Binary files differindex a37e779ae7..59b0b84585 100755 --- a/BaseTools/Bin/Win32/BootSectImage.exe +++ b/BaseTools/Bin/Win32/BootSectImage.exe diff --git a/BaseTools/Bin/Win32/EfiLdrImage.exe b/BaseTools/Bin/Win32/EfiLdrImage.exe Binary files differindex 29db3e2f41..c732a73306 100755 --- a/BaseTools/Bin/Win32/EfiLdrImage.exe +++ b/BaseTools/Bin/Win32/EfiLdrImage.exe diff --git a/BaseTools/Bin/Win32/EfiRom.exe b/BaseTools/Bin/Win32/EfiRom.exe Binary files differindex 6aefa0d41a..2e761cc08d 100755 --- a/BaseTools/Bin/Win32/EfiRom.exe +++ b/BaseTools/Bin/Win32/EfiRom.exe diff --git a/BaseTools/Bin/Win32/GenBootSector.exe b/BaseTools/Bin/Win32/GenBootSector.exe Binary files differindex 8bb35ac835..84d67f9b83 100755 --- a/BaseTools/Bin/Win32/GenBootSector.exe +++ b/BaseTools/Bin/Win32/GenBootSector.exe diff --git a/BaseTools/Bin/Win32/GenCrc32.exe b/BaseTools/Bin/Win32/GenCrc32.exe Binary files differindex a6009cd72a..cdefa75895 100755 --- a/BaseTools/Bin/Win32/GenCrc32.exe +++ b/BaseTools/Bin/Win32/GenCrc32.exe diff --git a/BaseTools/Bin/Win32/GenDepex.exe b/BaseTools/Bin/Win32/GenDepex.exe Binary files differindex 3d05e76136..2d7e20f60f 100755 --- a/BaseTools/Bin/Win32/GenDepex.exe +++ b/BaseTools/Bin/Win32/GenDepex.exe diff --git a/BaseTools/Bin/Win32/GenFds.exe b/BaseTools/Bin/Win32/GenFds.exe Binary files differindex 9bc45a846a..6d2a1aa55d 100755 --- a/BaseTools/Bin/Win32/GenFds.exe +++ b/BaseTools/Bin/Win32/GenFds.exe diff --git a/BaseTools/Bin/Win32/GenFfs.exe b/BaseTools/Bin/Win32/GenFfs.exe Binary files differindex 632f7f3bb3..b419b0d172 100755 --- a/BaseTools/Bin/Win32/GenFfs.exe +++ b/BaseTools/Bin/Win32/GenFfs.exe diff --git a/BaseTools/Bin/Win32/GenFv.exe b/BaseTools/Bin/Win32/GenFv.exe Binary files differindex b87331335e..c6e3ad656c 100755 --- a/BaseTools/Bin/Win32/GenFv.exe +++ b/BaseTools/Bin/Win32/GenFv.exe diff --git a/BaseTools/Bin/Win32/GenFw.exe b/BaseTools/Bin/Win32/GenFw.exe Binary files differindex d47991f919..8e19c1724f 100755 --- a/BaseTools/Bin/Win32/GenFw.exe +++ b/BaseTools/Bin/Win32/GenFw.exe diff --git a/BaseTools/Bin/Win32/GenPage.exe b/BaseTools/Bin/Win32/GenPage.exe Binary files differindex 50806487c9..a2a95bd30f 100755 --- a/BaseTools/Bin/Win32/GenPage.exe +++ b/BaseTools/Bin/Win32/GenPage.exe diff --git a/BaseTools/Bin/Win32/GenPatchPcdTable.exe b/BaseTools/Bin/Win32/GenPatchPcdTable.exe Binary files differindex a3ce036d43..7f7aa5ab6f 100755 --- a/BaseTools/Bin/Win32/GenPatchPcdTable.exe +++ b/BaseTools/Bin/Win32/GenPatchPcdTable.exe diff --git a/BaseTools/Bin/Win32/GenSec.exe b/BaseTools/Bin/Win32/GenSec.exe Binary files differindex a79833599d..2cb0c3b813 100755 --- a/BaseTools/Bin/Win32/GenSec.exe +++ b/BaseTools/Bin/Win32/GenSec.exe diff --git a/BaseTools/Bin/Win32/GenVtf.exe b/BaseTools/Bin/Win32/GenVtf.exe Binary files differindex a248c31f7a..7e38d68bac 100755 --- a/BaseTools/Bin/Win32/GenVtf.exe +++ b/BaseTools/Bin/Win32/GenVtf.exe diff --git a/BaseTools/Bin/Win32/LzmaCompress.exe b/BaseTools/Bin/Win32/LzmaCompress.exe Binary files differindex 456d673268..9838c0e9b1 100755 --- a/BaseTools/Bin/Win32/LzmaCompress.exe +++ b/BaseTools/Bin/Win32/LzmaCompress.exe diff --git a/BaseTools/Bin/Win32/PatchPcdValue.exe b/BaseTools/Bin/Win32/PatchPcdValue.exe Binary files differindex 48b24e22cb..142d59a16c 100755 --- a/BaseTools/Bin/Win32/PatchPcdValue.exe +++ b/BaseTools/Bin/Win32/PatchPcdValue.exe diff --git a/BaseTools/Bin/Win32/Split.exe b/BaseTools/Bin/Win32/Split.exe Binary files differindex 00000ac739..254590bbe3 100755 --- a/BaseTools/Bin/Win32/Split.exe +++ b/BaseTools/Bin/Win32/Split.exe diff --git a/BaseTools/Bin/Win32/TargetTool.exe b/BaseTools/Bin/Win32/TargetTool.exe Binary files differindex bdaaf07260..c8c23d5a37 100755 --- a/BaseTools/Bin/Win32/TargetTool.exe +++ b/BaseTools/Bin/Win32/TargetTool.exe diff --git a/BaseTools/Bin/Win32/TianoCompress.exe b/BaseTools/Bin/Win32/TianoCompress.exe Binary files differindex a65ba046b5..cdbe97f85e 100755 --- a/BaseTools/Bin/Win32/TianoCompress.exe +++ b/BaseTools/Bin/Win32/TianoCompress.exe diff --git a/BaseTools/Bin/Win32/Trim.exe b/BaseTools/Bin/Win32/Trim.exe Binary files differindex 44edbab30d..056581b00b 100755 --- a/BaseTools/Bin/Win32/Trim.exe +++ b/BaseTools/Bin/Win32/Trim.exe diff --git a/BaseTools/Bin/Win32/UPT.exe b/BaseTools/Bin/Win32/UPT.exe Binary files differindex a7060c7447..3101afd618 100644 --- a/BaseTools/Bin/Win32/UPT.exe +++ b/BaseTools/Bin/Win32/UPT.exe diff --git a/BaseTools/Bin/Win32/VfrCompile.exe b/BaseTools/Bin/Win32/VfrCompile.exe Binary files differindex 20e1b43c93..1c1ca78f7c 100755 --- a/BaseTools/Bin/Win32/VfrCompile.exe +++ b/BaseTools/Bin/Win32/VfrCompile.exe diff --git a/BaseTools/Bin/Win32/VolInfo.exe b/BaseTools/Bin/Win32/VolInfo.exe Binary files differindex 593784de3a..c042d9222b 100755 --- a/BaseTools/Bin/Win32/VolInfo.exe +++ b/BaseTools/Bin/Win32/VolInfo.exe diff --git a/BaseTools/Bin/Win32/build.exe b/BaseTools/Bin/Win32/build.exe Binary files differindex 2b74c9948f..3c03283bdd 100755 --- a/BaseTools/Bin/Win32/build.exe +++ b/BaseTools/Bin/Win32/build.exe diff --git a/BaseTools/Source/C/Include/Common/BuildVersion.h b/BaseTools/Source/C/Include/Common/BuildVersion.h index 764bebfa93..f524cefc9b 100644 --- a/BaseTools/Source/C/Include/Common/BuildVersion.h +++ b/BaseTools/Source/C/Include/Common/BuildVersion.h @@ -14,4 +14,4 @@ **/
-#define __BUILD_VERSION ""
+#define __BUILD_VERSION "Build 2601"
diff --git a/BaseTools/Source/C/Include/Common/UefiInternalFormRepresentation.h b/BaseTools/Source/C/Include/Common/UefiInternalFormRepresentation.h index 3cd22d1347..ea5f211e9b 100644 --- a/BaseTools/Source/C/Include/Common/UefiInternalFormRepresentation.h +++ b/BaseTools/Source/C/Include/Common/UefiInternalFormRepresentation.h @@ -3,7 +3,7 @@ IFR is primarily consumed by the EFI presentation engine, and produced by EFI
internal application and drivers as well as all add-in card option-ROM drivers
- Copyright (c) 2006 - 2012, 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
@@ -691,6 +691,7 @@ typedef union { #define EFI_IFR_SECURITY_OP 0x60
#define EFI_IFR_MODAL_TAG_OP 0x61
#define EFI_IFR_REFRESH_ID_OP 0x62
+#define EFI_IFR_WARNING_IF_OP 0x63
typedef struct _EFI_IFR_OP_HEADER {
@@ -1015,6 +1016,12 @@ typedef struct _EFI_IFR_NO_SUBMIT_IF { EFI_STRING_ID Error;
} EFI_IFR_NO_SUBMIT_IF;
+typedef struct _EFI_IFR_WARNING_IF {
+ EFI_IFR_OP_HEADER Header;
+ EFI_STRING_ID Warning;
+ UINT8 TimeOut;
+} EFI_IFR_WARNING_IF;
+
typedef struct _EFI_IFR_REFRESH {
EFI_IFR_OP_HEADER Header;
UINT8 RefreshInterval;
diff --git a/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp b/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp index 7cadf0f42b..363ca82a24 100644 --- a/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp +++ b/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp @@ -1673,6 +1673,7 @@ static struct { { sizeof (EFI_IFR_SECURITY), 0 }, // EFI_IFR_SECURITY_OP - 0x60
{ sizeof (EFI_IFR_MODAL_TAG), 0}, // EFI_IFR_MODAL_TAG_OP - 0x61
{ sizeof (EFI_IFR_REFRESH_ID), 0}, // EFI_IFR_REFRESH_ID_OP - 0x62
+ { sizeof (EFI_IFR_WARNING_IF), 1}, // EFI_IFR_WARNING_IF_OP - 0x63
};
#ifdef CIFROBJ_DEUBG
@@ -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",
"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_TAG", "EFI_IFR_REFRESH_ID",
+ "EFI_IFR_SECURITY", "EFI_IFR_MODAL_TAG", "EFI_IFR_REFRESH_ID", "EFI_IFR_WARNING_IF",
};
VOID
diff --git a/BaseTools/Source/C/VfrCompile/VfrFormPkg.h b/BaseTools/Source/C/VfrCompile/VfrFormPkg.h index 614471060d..25280def9b 100644 --- a/BaseTools/Source/C/VfrCompile/VfrFormPkg.h +++ b/BaseTools/Source/C/VfrCompile/VfrFormPkg.h @@ -1612,6 +1612,26 @@ public: }
};
+class CIfrWarningIf : public CIfrObj, public CIfrOpHeader {
+private:
+ EFI_IFR_WARNING_IF *mWarningIf;
+
+public:
+ CIfrWarningIf () : CIfrObj (EFI_IFR_WARNING_IF_OP, (CHAR8 **)&mWarningIf),
+ CIfrOpHeader (EFI_IFR_WARNING_IF_OP, &mWarningIf->Header) {
+ mWarningIf->Warning = EFI_STRING_ID_INVALID;
+ mWarningIf->TimeOut = 0;
+ }
+
+ VOID SetWarning (IN EFI_STRING_ID Warning) {
+ mWarningIf->Warning = Warning;
+ }
+
+ VOID SetTimeOut (IN UINT8 TimeOut) {
+ mWarningIf->TimeOut = TimeOut;
+ }
+};
+
class CIfrNoSubmitIf : public CIfrObj, public CIfrOpHeader {
private:
EFI_IFR_NO_SUBMIT_IF *mNoSubmitIf;
diff --git a/BaseTools/Source/C/VfrCompile/VfrSyntax.g b/BaseTools/Source/C/VfrCompile/VfrSyntax.g index 253834508a..61b68f5fb7 100644 --- a/BaseTools/Source/C/VfrCompile/VfrSyntax.g +++ b/BaseTools/Source/C/VfrCompile/VfrSyntax.g @@ -184,6 +184,7 @@ VfrParserStart ( #token Goto("goto") "goto"
#token FormSetGuid("formsetguid") "formsetguid"
#token InconsistentIf("inconsistentif") "inconsistentif"
+#token WarningIf("warningif") "warningif"
#token NoSubmitIf("nosubmitif") "nosubmitif"
#token EndIf("endif") "endif"
#token Key("key") "key"
@@ -2627,7 +2628,8 @@ vfrStatementQuestionTag : vfrStatementRefresh |
vfrStatementVarstoreDevice |
vfrStatementExtension |
- vfrStatementRefreshEvent
+ vfrStatementRefreshEvent |
+ vfrStatementWarningIf
;
vfrStatementQuestionTagList :
@@ -2825,6 +2827,15 @@ vfrStatementNoSubmitIf : E:EndIf << CRT_END_OP (E); >>
;
+vfrStatementWarningIf :
+ << CIfrWarningIf WIObj; >>
+ L:WarningIf << WIObj.SetLineNo(L->getLine()); >>
+ Prompt "=" "STRING_TOKEN" "\(" S:Number "\)" "," << WIObj.SetWarning (_STOSID(S->getText())); >>
+ {Timeout "=" T:Number "," << WIObj.SetTimeOut (_STOU8(T->getText())); >>}
+ vfrStatementExpression[0]
+ E:EndIf << CRT_END_OP (E); >>
+ ;
+
vfrStatementDisableIfQuest :
<<
CIfrDisableIf DIObj;
diff --git a/BaseTools/Source/Python/Common/BuildVersion.py b/BaseTools/Source/Python/Common/BuildVersion.py index 7414d30f49..25546cdfe9 100644 --- a/BaseTools/Source/Python/Common/BuildVersion.py +++ b/BaseTools/Source/Python/Common/BuildVersion.py @@ -13,4 +13,4 @@ # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
-gBUILD_VERSION = ""
+gBUILD_VERSION = "Build 2601"
diff --git a/BaseTools/Source/Python/UPT/BuildVersion.py b/BaseTools/Source/Python/UPT/BuildVersion.py index edd4696753..fa6c26aa76 100644 --- a/BaseTools/Source/Python/UPT/BuildVersion.py +++ b/BaseTools/Source/Python/UPT/BuildVersion.py @@ -17,4 +17,4 @@ Build version information
'''
-gBUILD_VERSION = ""
+gBUILD_VERSION = "Build 2601"
diff --git a/BaseTools/Source/Python/Workspace/MetaFileParser.py b/BaseTools/Source/Python/Workspace/MetaFileParser.py index b2e98633af..34000b5e88 100644 --- a/BaseTools/Source/Python/Workspace/MetaFileParser.py +++ b/BaseTools/Source/Python/Workspace/MetaFileParser.py @@ -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) |