mirror of https://github.com/acidanthera/audk.git
Sync BaseTool trunk (version r2601) into EDKII BaseTools.
Signed-off-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14710 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
ac0908afc2
commit
ea0f646433
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -14,4 +14,4 @@
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
#define __BUILD_VERSION ""
|
#define __BUILD_VERSION "Build 2601"
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
IFR is primarily consumed by the EFI presentation engine, and produced by EFI
|
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
|
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
|
This program and the accompanying materials are licensed and made available
|
||||||
under the terms and conditions of the BSD License which accompanies this
|
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_SECURITY_OP 0x60
|
||||||
#define EFI_IFR_MODAL_TAG_OP 0x61
|
#define EFI_IFR_MODAL_TAG_OP 0x61
|
||||||
#define EFI_IFR_REFRESH_ID_OP 0x62
|
#define EFI_IFR_REFRESH_ID_OP 0x62
|
||||||
|
#define EFI_IFR_WARNING_IF_OP 0x63
|
||||||
|
|
||||||
|
|
||||||
typedef struct _EFI_IFR_OP_HEADER {
|
typedef struct _EFI_IFR_OP_HEADER {
|
||||||
|
@ -1015,6 +1016,12 @@ typedef struct _EFI_IFR_NO_SUBMIT_IF {
|
||||||
EFI_STRING_ID Error;
|
EFI_STRING_ID Error;
|
||||||
} EFI_IFR_NO_SUBMIT_IF;
|
} 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 {
|
typedef struct _EFI_IFR_REFRESH {
|
||||||
EFI_IFR_OP_HEADER Header;
|
EFI_IFR_OP_HEADER Header;
|
||||||
UINT8 RefreshInterval;
|
UINT8 RefreshInterval;
|
||||||
|
|
|
@ -1673,6 +1673,7 @@ static struct {
|
||||||
{ sizeof (EFI_IFR_SECURITY), 0 }, // EFI_IFR_SECURITY_OP - 0x60
|
{ 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_MODAL_TAG), 0}, // EFI_IFR_MODAL_TAG_OP - 0x61
|
||||||
{ sizeof (EFI_IFR_REFRESH_ID), 0}, // EFI_IFR_REFRESH_ID_OP - 0x62
|
{ 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
|
#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_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_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_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
|
VOID
|
||||||
|
|
|
@ -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 {
|
class CIfrNoSubmitIf : public CIfrObj, public CIfrOpHeader {
|
||||||
private:
|
private:
|
||||||
EFI_IFR_NO_SUBMIT_IF *mNoSubmitIf;
|
EFI_IFR_NO_SUBMIT_IF *mNoSubmitIf;
|
||||||
|
|
|
@ -184,6 +184,7 @@ VfrParserStart (
|
||||||
#token Goto("goto") "goto"
|
#token Goto("goto") "goto"
|
||||||
#token FormSetGuid("formsetguid") "formsetguid"
|
#token FormSetGuid("formsetguid") "formsetguid"
|
||||||
#token InconsistentIf("inconsistentif") "inconsistentif"
|
#token InconsistentIf("inconsistentif") "inconsistentif"
|
||||||
|
#token WarningIf("warningif") "warningif"
|
||||||
#token NoSubmitIf("nosubmitif") "nosubmitif"
|
#token NoSubmitIf("nosubmitif") "nosubmitif"
|
||||||
#token EndIf("endif") "endif"
|
#token EndIf("endif") "endif"
|
||||||
#token Key("key") "key"
|
#token Key("key") "key"
|
||||||
|
@ -2627,7 +2628,8 @@ vfrStatementQuestionTag :
|
||||||
vfrStatementRefresh |
|
vfrStatementRefresh |
|
||||||
vfrStatementVarstoreDevice |
|
vfrStatementVarstoreDevice |
|
||||||
vfrStatementExtension |
|
vfrStatementExtension |
|
||||||
vfrStatementRefreshEvent
|
vfrStatementRefreshEvent |
|
||||||
|
vfrStatementWarningIf
|
||||||
;
|
;
|
||||||
|
|
||||||
vfrStatementQuestionTagList :
|
vfrStatementQuestionTagList :
|
||||||
|
@ -2825,6 +2827,15 @@ vfrStatementNoSubmitIf :
|
||||||
E:EndIf << CRT_END_OP (E); >>
|
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 :
|
vfrStatementDisableIfQuest :
|
||||||
<<
|
<<
|
||||||
CIfrDisableIf DIObj;
|
CIfrDisableIf DIObj;
|
||||||
|
|
|
@ -13,4 +13,4 @@
|
||||||
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
#
|
#
|
||||||
|
|
||||||
gBUILD_VERSION = ""
|
gBUILD_VERSION = "Build 2601"
|
||||||
|
|
|
@ -17,4 +17,4 @@
|
||||||
Build version information
|
Build version information
|
||||||
'''
|
'''
|
||||||
|
|
||||||
gBUILD_VERSION = ""
|
gBUILD_VERSION = "Build 2601"
|
||||||
|
|
|
@ -827,6 +827,7 @@ class DscParser(MetaFileParser):
|
||||||
except:
|
except:
|
||||||
EdkLogger.error("Parser", FILE_READ_FAILURE, ExtraData=self.MetaFile)
|
EdkLogger.error("Parser", FILE_READ_FAILURE, ExtraData=self.MetaFile)
|
||||||
|
|
||||||
|
OwnerId = {}
|
||||||
for Index in range(0, len(Content)):
|
for Index in range(0, len(Content)):
|
||||||
Line = CleanString(Content[Index])
|
Line = CleanString(Content[Index])
|
||||||
# skip empty line
|
# skip empty line
|
||||||
|
@ -847,6 +848,7 @@ class DscParser(MetaFileParser):
|
||||||
self._SubsectionType = MODEL_UNKNOWN
|
self._SubsectionType = MODEL_UNKNOWN
|
||||||
self._SubsectionName = ''
|
self._SubsectionName = ''
|
||||||
self._Owner[-1] = -1
|
self._Owner[-1] = -1
|
||||||
|
OwnerId = {}
|
||||||
continue
|
continue
|
||||||
# subsection header
|
# subsection header
|
||||||
elif Line[0] == TAB_OPTION_START and Line[-1] == TAB_OPTION_END:
|
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
|
# LineBegin=-1, ColumnBegin=-1, LineEnd=-1, ColumnEnd=-1, Enabled=-1
|
||||||
#
|
#
|
||||||
for Arch, ModuleType in self._Scope:
|
for Arch, ModuleType in self._Scope:
|
||||||
|
Owner = self._Owner[-1]
|
||||||
|
if self._SubsectionType != MODEL_UNKNOWN:
|
||||||
|
Owner = OwnerId[Arch]
|
||||||
self._LastItem = self._Store(
|
self._LastItem = self._Store(
|
||||||
self._ItemType,
|
self._ItemType,
|
||||||
self._ValueList[0],
|
self._ValueList[0],
|
||||||
|
@ -878,7 +883,7 @@ class DscParser(MetaFileParser):
|
||||||
self._ValueList[2],
|
self._ValueList[2],
|
||||||
Arch,
|
Arch,
|
||||||
ModuleType,
|
ModuleType,
|
||||||
self._Owner[-1],
|
Owner,
|
||||||
self._From,
|
self._From,
|
||||||
self._LineIndex + 1,
|
self._LineIndex + 1,
|
||||||
- 1,
|
- 1,
|
||||||
|
@ -886,6 +891,8 @@ class DscParser(MetaFileParser):
|
||||||
- 1,
|
- 1,
|
||||||
self._Enabled
|
self._Enabled
|
||||||
)
|
)
|
||||||
|
if self._SubsectionType == MODEL_UNKNOWN and self._InSubsection:
|
||||||
|
OwnerId[Arch] = self._LastItem
|
||||||
|
|
||||||
if self._DirectiveStack:
|
if self._DirectiveStack:
|
||||||
Type, Line, Text = self._DirectiveStack[-1]
|
Type, Line, Text = self._DirectiveStack[-1]
|
||||||
|
@ -1040,6 +1047,11 @@ class DscParser(MetaFileParser):
|
||||||
ExtraData=self._CurrentLine + " (<TokenSpaceGuidCName>.<TokenCName>|<PcdValue>)",
|
ExtraData=self._CurrentLine + " (<TokenSpaceGuidCName>.<TokenCName>|<PcdValue>)",
|
||||||
File=self.MetaFile, Line=self._LineIndex + 1)
|
File=self.MetaFile, Line=self._LineIndex + 1)
|
||||||
if self._ValueList[2] == '':
|
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",
|
EdkLogger.error('Parser', FORMAT_INVALID, "No PCD value given",
|
||||||
ExtraData=self._CurrentLine + " (<TokenSpaceGuidCName>.<TokenCName>|<PcdValue>)",
|
ExtraData=self._CurrentLine + " (<TokenSpaceGuidCName>.<TokenCName>|<PcdValue>)",
|
||||||
File=self.MetaFile, Line=self._LineIndex + 1)
|
File=self.MetaFile, Line=self._LineIndex + 1)
|
||||||
|
|
Loading…
Reference in New Issue