From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 0F915740032 for ; Mon, 25 Dec 2023 01:23:38 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=+F0R0Jt2ymjhpcnZDl4UAtYtmTAELX1dQ8fs2CAVWsw=; c=relaxed/simple; d=groups.io; h=From:To:Cc:References:In-Reply-To:Subject:Date:Message-ID:MIME-Version:Thread-Index:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Type:Content-Transfer-Encoding:Content-Language; s=20140610; t=1703467417; v=1; b=lAoQf5KI4kZbXHiSdKf3bl/pfOJpdbuBs4Ux6X09dVtP11f0ftotdV/H6x9yWfar3+n9AFCz fC/bgLNYrTe/9pZVaLQ/VFZvuwMjFieZTx/hXMdG4Sh1yJQsWx5AVYwR9n9InBahYscqCNXk571 9ATUto/Uya6Eamb6XQOKGF3Y= X-Received: by 127.0.0.2 with SMTP id 857zYY7687511xuOh0X8LDLn; Sun, 24 Dec 2023 17:23:37 -0800 X-Received: from cxsh.intel-email.com (cxsh.intel-email.com [121.46.250.151]) by mx.groups.io with SMTP id smtpd.web11.43940.1703467414004688181 for ; Sun, 24 Dec 2023 17:23:36 -0800 X-Received: from cxsh.intel-email.com (localhost [127.0.0.1]) by cxsh.intel-email.com (Postfix) with ESMTP id BA304DDA7D4 for ; Mon, 25 Dec 2023 09:23:30 +0800 (CST) X-Received: from localhost (localhost [127.0.0.1]) by cxsh.intel-email.com (Postfix) with ESMTP id B55A5DDA7D3 for ; Mon, 25 Dec 2023 09:23:30 +0800 (CST) X-Received: from mail.byosoft.com.cn (mail.byosoft.com.cn [58.240.74.242]) by cxsh.intel-email.com (Postfix) with SMTP id B65B3DDA793 for ; Mon, 25 Dec 2023 09:23:27 +0800 (CST) X-Received: from DESKTOPS6D0PVI ([58.246.60.130]) (envelope-sender ) by 192.168.6.13 with ESMTP(SSL) for ; Mon, 25 Dec 2023 09:23:22 +0800 X-WM-Sender: gaoliming@byosoft.com.cn X-Originating-IP: 58.246.60.130 X-WM-AuthFlag: YES X-WM-AuthUser: gaoliming@byosoft.com.cn From: "gaoliming via groups.io" To: "'Zhang, Zifeng'" , "'Yang, Yuting2'" Cc: "'Rebecca Cran'" , "'Feng, Bob C'" , "'Chen, Arthur G'" , , "'Chen, Christine'" References: <20231212090119.1150-1-yuting2.yang@intel.com> In-Reply-To: Subject: =?UTF-8?B?W2VkazItZGV2ZWxdIOWbnuWkjTogW1BhdGNoIFYyXSBCYXNlVG9vbHM6IFZmckNvbXBpbGVyIEFkZHMgRGVmYXVsdFZhbHVlRXJyb3IgRmVhdHVyZQ==?= Date: Mon, 25 Dec 2023 09:23:22 +0800 Message-ID: <025c01da36d0$f37cc9b0$da765d10$@byosoft.com.cn> MIME-Version: 1.0 Thread-Index: AQKYIdcKmMO+dy/SabaxWAalEJCh8AI6a+33Apct1G8COAEogq8FDwIw Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,gaoliming@byosoft.com.cn List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: yrJ53Xuhlry7m1VPfykqVBMtx7686176AA= Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: quoted-printable Content-Language: zh-cn X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=lAoQf5KI; dmarc=none; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io Zifeng: VFR_FLAGS can be set in the module INF for this module only. So, you can set --catch_default option in the modules those you want to remove the default opcode for. With this usage, --except_list option is not required.= =20 For example, module INF can add below section to enable this option.=20 [BuildOptions] *_*_*_VFR_FLAGS =3D --catch_default Thanks Liming > -----=D3=CA=BC=FE=D4=AD=BC=FE----- > =B7=A2=BC=FE=C8=CB: Zhang, Zifeng > =B7=A2=CB=CD=CA=B1=BC=E4: 2023=C4=EA12=D4=C221=C8=D5 14:44 > =CA=D5=BC=FE=C8=CB: Gao, Liming ; Yang, Yuting2 > > =B3=AD=CB=CD: Rebecca Cran ; Feng, Bob C > ; Chen, Arthur G ; > devel@edk2.groups.io; Chen, Christine > =D6=F7=CC=E2: RE: [Patch V2] BaseTools: VfrCompiler Adds DefaultValueErro= r Feature >=20 > Hi Liming, >=20 > Thanks for reviewing. > For background of this change, we will remove default flags in VFR/HFR in > new platform. So we need help from VFR complier to make a default flag > check to avoid manually adding. > @Yang, Yuting2, could you help to create a BZ for this feature and share in > mail thread? > Then let me make a clarification for your questions. >=20 > #1: The purpose of --catch_default > We send --catch_default flag in build option to indicate which platform should > check default flag in VFR/HFR. > Actually maybe some platforms used same EDK2 downstream branch, so we > only send --catch_default flag for the platforms which need this check. >=20 > #2: The purpose of --except_list > VFR compiler will receive VFR/HFR configurations from all folders including > Intel and EDK2. But in our expectation VFR compiler only do this check in > Intel. > So We use --except_list to deliver package list in EDK2 to avoid this check. >=20 > Best Regards, > Zifeng >=20 > -----Original Message----- > From: Yang, Yuting2 > Sent: Tuesday, December 12, 2023 5:12 PM > To: Zhang, Zifeng ; Chen, Arthur G > ; devel@edk2.groups.io > Cc: Rebecca Cran ; Gao, Liming > ; Feng, Bob C > Subject: RE: [Patch V2] BaseTools: VfrCompiler Adds DefaultValueError > Feature >=20 > +Cc Zhang, Zifeng, Chen, Arthur G >=20 > -----Original Message----- > From: Chen, Christine > Sent: Tuesday, December 12, 2023 5:04 PM > To: Yang, Yuting2 ; devel@edk2.groups.io > Cc: Rebecca Cran ; Gao, Liming > ; Feng, Bob C > Subject: RE: [Patch V2] BaseTools: VfrCompiler Adds DefaultValueError > Feature >=20 > +Cc Yang, Yuting2 >=20 > > -----Original Message----- > > From: Yang, Yuting2 > > Sent: Tuesday, December 12, 2023 5:01 PM > > To: devel@edk2.groups.io > > Cc: Rebecca Cran ; Gao, Liming > > ; Feng, Bob C ; Chen, > > Christine > > Subject: [Patch V2] BaseTools: VfrCompiler Adds DefaultValueError > > Feature > > > > Add --catch_default option > > Raise a DefaultValueError when encountering VFR default definitions to > > help remove default variables. > > Add --except_list option > > Exclude packages that don't require enabling the catch_default function= . > > > > Cc: Rebecca Cran > > Cc: Liming Gao > > Cc: Bob Feng > > Cc: Christine Chen > > Cc: Yuting Yang > > > > Signed-off-by: Yuting Yang > > --- > > BaseTools/Source/C/VfrCompile/VfrCompiler.cpp | 40 ++- > > BaseTools/Source/C/VfrCompile/VfrCompiler.h | 3 + > > BaseTools/Source/C/VfrCompile/VfrError.cpp | 3 +- > > BaseTools/Source/C/VfrCompile/VfrError.h | 3 +- > > BaseTools/Source/C/VfrCompile/VfrFormPkg.h | 1 + > > BaseTools/Source/C/VfrCompile/VfrSyntax.g | 238 > ++++++++++-------- > > 6 files changed, 184 insertions(+), 104 deletions(-) > > > > diff --git a/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp > > b/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp > > index 5f4d262d85..e97cebff65 100644 > > --- a/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp > > +++ b/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp > > @@ -78,6 +78,9 @@ CVfrCompiler::OptionInitialization ( > > mOptions.WarningAsError =3D FALSE; > mOptions.AutoDefault > > =3D FALSE; mOptions.CheckDefault =3D FALSE;+ > > mOptions.IsCatchDefaultEnable =3D FALSE;+ > mOptions.ExceptionList > > =3D NULL;+ mOptions.ExceptionListSize =3D 0; memset > > (&mOptions.OverrideClassGuid, 0, sizeof (EFI_GUID)); if (Argc =3D=3D= 1) > {@@ - > > 95,6 +98,23 @@ CVfrCompiler::OptionInitialization ( > > Version (); SET_RUN_STATUS (STATUS_DEAD); > return;+ } else if > > (stricmp(Argv[Index], "--catch_default") =3D=3D 0){+ > > mOptions.IsCatchDefaultEnable =3D TRUE;+ } else if (stricmp(Argv[Index], > "-- > > except_list") =3D=3D 0){+ INT32 Start =3D ++Index;+ if ((Star= t >=3D Argc) > || > > (Argv[Start][0] =3D=3D '-')) {+ DebugError (NULL, 0, 1001, "Miss= ing > option", "- > > exception_list missing except list");+ goto Fail;+ }+ > while > > ((Argv[Index][0] !=3D '-') && (Index < Argc - 1)) {+ Index++;+ }+ > INT32 > > End =3D Index--;+ mOptions.ExceptionListSize =3D End - Start;+ = for > (INT32 i =3D > > Start; i < End; i++) {+ mOptions.ExceptionList =3D (CHAR8**) > > realloc(mOptions.ExceptionList, (i - Start + 1) * sizeof(CHAR8*));+ > > mOptions.ExceptionList[i-Start] =3D Argv[i];+ } } else if > (stricmp(Argv[Index], > > "-l") =3D=3D 0) { mOptions.CreateRecordListFile =3D TRUE; > > gCIfrRecordInfoDB.TurnOn ();@@ -179,7 +199,11 @@ > > CVfrCompiler::OptionInitialization ( > > goto Fail; } strcpy (mOptions.VfrFileName, > Argv[Index]);-+ for (int i =3D > > 0; i < mOptions.ExceptionListSize; i++) {+ if > (strstr(mOptions.VfrFileName, > > mOptions.ExceptionList[i]) !=3D NULL) {+ > mOptions.IsCatchDefaultEnable =3D > > FALSE;+ }+ } if (mOptions.OutputDirectory =3D=3D NULL) > > { mOptions.OutputDirectory =3D (CHAR8 *) malloc (1); if > > (mOptions.OutputDirectory =3D=3D NULL) {@@ -217,6 +241,11 @@ Fail: > > free (mOptions.VfrFileName); mOptions.VfrFileName > =3D > > NULL; }+ if (mOptions.ExceptionList !=3D NULL) {+ > > free(mOptions.ExceptionList);+ mOptions.ExceptionList > =3D NULL;++ } > > if (mOptions.VfrBaseFileName !=3D NULL) { free > (mOptions.VfrBaseFileName); > > mOptions.VfrBaseFileName =3D NULL;@@ -496,6 +525,11 > @@ > > CVfrCompiler::~CVfrCompiler ( > > mOptions.VfrBaseFileName =3D NULL; } + if > (mOptions.ExceptionList !=3D > > NULL) {+ free (mOptions.ExceptionList);+ mOptions.ExceptionList = =3D > > NULL;+ }+ if (mOptions.OutputDirectory !=3D NULL) { free > > (mOptions.OutputDirectory); mOptions.OutputDirectory =3D NULL;@@ > -679,7 > > +713,7 @@ CVfrCompiler::Compile ( > > DebugError (NULL, 0, 0001, "Error opening the input file", "%s", > > InFileName); goto Fail; }-+ InputInfo.IsCatchDefaultEnable =3D > > mOptions.IsCatchDefaultEnable; if (mOptions.HasOverrideClassGuid) > > { InputInfo.OverrideClassGuid =3D &mOptions.OverrideClassGuid; } > else > > {@@ -937,5 +971,3 @@ main ( > > return GetUtilityStatus (); }--diff --git > > a/BaseTools/Source/C/VfrCompile/VfrCompiler.h > > b/BaseTools/Source/C/VfrCompile/VfrCompiler.h > > index b6e207d2ce..39e0a89a29 100644 > > --- a/BaseTools/Source/C/VfrCompile/VfrCompiler.h > > +++ b/BaseTools/Source/C/VfrCompile/VfrCompiler.h > > @@ -52,6 +52,9 @@ typedef struct { > > BOOLEAN WarningAsError; BOOLEAN AutoDefault; BOOLEAN > > CheckDefault;+ BOOLEAN IsCatchDefaultEnable;+ CHAR8** > ExceptionList;+ > > INT16 ExceptionListSize; } OPTIONS; typedef enum {diff --git > > a/BaseTools/Source/C/VfrCompile/VfrError.cpp > > b/BaseTools/Source/C/VfrCompile/VfrError.cpp > > index 65bb8e34fd..8a706f929b 100644 > > --- a/BaseTools/Source/C/VfrCompile/VfrError.cpp > > +++ b/BaseTools/Source/C/VfrCompile/VfrError.cpp > > @@ -49,7 +49,8 @@ static SVFR_WARNING_HANDLE > VFR_WARNING_HANDLE_TABLE > > [] =3D { > > { VFR_WARNING_DEFAULT_VALUE_REDEFINED, ": default value > re-defined > > with different value"}, { VFR_WARNING_ACTION_WITH_TEXT_TWO, ": > Action > > opcode should not have TextTwo part"}, { > > VFR_WARNING_OBSOLETED_FRAMEWORK_OPCODE, ": Not recommend to > use > > obsoleted framework opcode"},- { VFR_WARNING_CODEUNDEFINED, ": > > undefined Warning Code" }+ { VFR_WARNING_CODEUNDEFINED, ": > > undefined Warning Code" },+ { VFR_WARNING_UNSUPPORTED, ": pls > remove > > the default values if necessary" } }; CVfrErrorHandle::CVfrErrorHandle > > (diff -- git a/BaseTools/Source/C/VfrCompile/VfrError.h > > b/BaseTools/Source/C/VfrCompile/VfrError.h > > index 7d16bd5f74..1b4bc173d2 100644 > > --- a/BaseTools/Source/C/VfrCompile/VfrError.h > > +++ b/BaseTools/Source/C/VfrCompile/VfrError.h > > @@ -47,7 +47,8 @@ typedef enum { > > VFR_WARNING_DEFAULT_VALUE_REDEFINED =3D 0, > > VFR_WARNING_ACTION_WITH_TEXT_TWO, > > VFR_WARNING_OBSOLETED_FRAMEWORK_OPCODE,- > > VFR_WARNING_CODEUNDEFINED+ VFR_WARNING_CODEUNDEFINED,+ > > VFR_WARNING_UNSUPPORTED } EFI_VFR_WARNING_CODE; typedef > struct > > _SVFR_ERROR_HANDLE {diff --git > > a/BaseTools/Source/C/VfrCompile/VfrFormPkg.h > > b/BaseTools/Source/C/VfrCompile/VfrFormPkg.h > > index 9ef6f07787..d8fada3bcb 100644 > > --- a/BaseTools/Source/C/VfrCompile/VfrFormPkg.h > > +++ b/BaseTools/Source/C/VfrCompile/VfrFormPkg.h > > @@ -96,6 +96,7 @@ struct SBufferNode { > > typedef struct { EFI_GUID *OverrideClassGuid;+ BOOLEAN > > IsCatchDefaultEnable; } INPUT_INFO_TO_SYNTAX; class CFormPkg {diff > > --git a/BaseTools/Source/C/VfrCompile/VfrSyntax.g > > b/BaseTools/Source/C/VfrCompile/VfrSyntax.g > > index 55fd067f8a..5daf1c423c 100644 > > --- a/BaseTools/Source/C/VfrCompile/VfrSyntax.g > > +++ b/BaseTools/Source/C/VfrCompile/VfrSyntax.g > > @@ -50,6 +50,7 @@ VfrParserStart ( > > { ParserBlackBox > VfrParser(File); > > VfrParser.parser()->SetOverrideClassGuid > > (InputInfo->OverrideClassGuid);+ > > VfrParser.parser()->SetIsCatchDefaultEnable(InputInfo- > > >IsCatchDefaultEnable); return > VfrParser.parser()->vfrProgram(); } >>@@ - > > 386,8 +387,8 @@ dataStructField32 [BOOLEAN FieldInUnion]: > > ; dataStructField16 [BOOLEAN FieldInUnion]:- << - UINT32 > ArrayNum =3D 0; > > + <<+ UINT32 ArrayNum =3D 0; >> ("UINT16" | "CHAR16") > > N:StringIdentifier@@ -737,7 +738,7 @@ vfrFormSetList : > > ; vfrStatementExtension:- << + << EFI_GUID Guid; > CIfrGuid *GuidObj > > =3D NULL; CHAR8 *TypeName =3D NULL;@@ -751,7 +752,7 @@ > > vfrStatementExtension: > > >> L:GuidOp Uuid "=3D" guidDefinition[Guid]- {"," DataType "=3D= " + > {"," > > DataType "=3D" ( U64:"UINT64" {OpenBracket AN1:Number > CloseBracket > > <getText(), AN1->getLine());>>} << TypeName > =3D > > U64->getText(); LineNum =3D U64->getLine(); >>@@ -770,7 > > +771,7 @@ vfrStatementExtension: > > | T:"EFI_HII_TIME" {OpenBracket AN8:Number CloseBracket > > <getText(), AN8->getLine());>>} > > << TypeName =3D T->getText(); LineNum =3D T->getLine(); IsStruct =3D TR= UE;>> > | > > R:"EFI_HII_REF" {OpenBracket AN9:Number CloseBracket < > _STOU32(AN9->getText(), AN9->getLine());>>}- << TypeName =3D > > R->getText(); LineNum =3D R->getLine(); IsStruct =3D TRUE;>> > > + << > TypeName =3D > > + R->getText(); LineNum =3D R- > > >getLine(); IsStruct =3D TRUE;>> | TN:StringIdentifier {OpenBrack= et > > AN10:Number CloseBracket <getText(), > AN10- > > >getLine());>>} > << TypeName =3D TN->getText(); > > LineNum =3D TN->getLine(); IsStruct =3D TRUE;>> )@@ -875,19 +876,19 > @@ > > vfrExtensionData[UINT8 *DataBuff, UINT32 Size, CHAR8 *TypeName, > UINT32 > > TypeSize, > > memcpy (ByteOffset, &Data_U64, > TypeSize); }else if (strcmp > > ("UINT32", TypeName) =3D=3D 0) { Data_U32 =3D > _STOU32(RD->getText(), > > RD->getLine());- memcpy (ByteOffset, &Data_U32, > TypeSize); > > + memcpy (ByteOffset, &Data_U32, > TypeSize); }else if (strcmp > > ("UINT16", TypeName) =3D=3D 0) { Data_U16 =3D > _STOU16(RD->getText(), > > RD->getLine());- memcpy (ByteOffset, &Data_U16, > TypeSize); > > + memcpy (ByteOffset, &Data_U16, > TypeSize); }else if (strcmp > > ("UINT8", TypeName) =3D=3D 0) { Data_U8 =3D > _STOU8(RD->getText(), RD- > > >getLine());- memcpy (ByteOffset, &Data_U8, TypeSize); > > + memcpy (ByteOffset, &Data_U8, > TypeSize); }else if (strcmp > > ("BOOLEAN", TypeName)=3D=3D 0) { Data_BL =3D > _STOU8(RD->getText(), > > RD->getLine());- memcpy (ByteOffset, &Data_BL, > TypeSize); > > + memcpy (ByteOffset, &Data_BL, > TypeSize); }else if (strcmp > > ("EFI_STRING_ID", TypeName) =3D=3D 0) { Data_SID =3D > _STOSID(RD- > > >getText(), RD->getLine());- memcpy (ByteOffset, > &Data_SID, > > TypeSize); > + memcpy (ByteOffset, > > &Data_SID, TypeSize); } } else > > { gCVfrVarDataTypeDB.GetDataFieldInfo(TFName, > FieldOffset, > > FieldType, FieldSize, BitField);@@ -975,7 +976,15 @@ > > vfrExtensionData[UINT8 *DataBuff, UINT32 Size, CHAR8 *TypeName, > UINT32 > > TypeSize, > > vfrStatementDefaultStore : << UINT16 DefaultId =3D > > EFI_HII_DEFAULT_CLASS_STANDARD; >>- D:DefaultStore > N:StringIdentifier > > ","+ D:DefaultStore N:StringIdentifier "," <<+ > > if (mIsCatchDefaultEnable) {+ > > gCVfrErrorHandle.HandleWarning (+ > > VFR_WARNING_UNSUPPORTED,+ > D- > > >getLine(),+ > D- > > >getText()+ > );+ > }+ > > >> > Prompt "=3D" "STRING_TOKEN" "\(" S:Number > > "\)" { "," Attribute "=3D" A:Number << > DefaultId =3D _STOU16(A- > > >getText(), A->getLine()); >>@@ -1074,7 +1083,7 @@ > > vfrStatementVarStoreEfi : > > | U64:"UINT64" "," << > TypeName =3D U64->getText(); > > LineNum =3D U64->getLine(); >> | D:"EFI_HII_DATE" "," > << > > TypeName =3D D->getText(); LineNum =3D D->getLine(); >> | > T:"EFI_HII_TIME" > > "," << TypeName =3D T->getText(); LineNum =3D > T->getLine(); >>- | > > R:"EFI_HII_REF" "," << TypeName =3D > R->getText(); LineNum =3D R- > > >getLine(); >> + | R:"EFI_HII_REF" "," > << TypeName =3D R- > > >getText(); LineNum =3D R->getLine(); >> ) { VarId "=3D" ID:Num= ber > "," > > <<@@ -1092,8 +1101,8 @@ vfrStatementVarStoreEfi : > > ( Name "=3D" SN:StringIdentifier "," << > StoreName =3D SN- > > >getText(); >> |- Name "=3D" "STRING_TOKEN" "\(" > VN:Number "\)" "," - > > VarSize "=3D" N:Number "," << + Name > "=3D" "STRING_TOKEN" > > "\(" VN:Number "\)" ","+ VarSize "=3D" N:Number "," > << > > IsUEFI23EfiVarstore =3D FALSE; > StoreName =3D > > gCVfrStringDB.GetVarStoreNameFormStringId(_STOSID(VN->getText(), VN- > > >getLine())); > if (StoreName =3D=3D NULL) {@@ - > > 1116,7 +1125,7 @@ vfrStatementVarStoreEfi : > > > break; > case 8: > > TypeName =3D (CHAR8 *) "UINT64";- > break; + > > break; > default: > > _PCATCH (VFR_RETURN_UNSUPPORTED, N); > > break;@@ -1124,7 +1133,7 @@ vfrStatementVarStoreEfi : > > >> ) - > Uuid "=3D" guidDefinition[Guid] > > << + Uuid "=3D" guidDefinition[Guid] << > > if (IsUEFI23EfiVarstore) > > > { _PCAT > CH(gCVfrDataStorage.DeclareBufferVarS > > tore > ( > StoreName,@@ -1150,7 > > +1159,7 @@ vfrStatementVarStoreEfi : > > } > > VSEObj.SetGuid (&Guid); > VSEObj.SetVarStoreId > > (VarStoreId);- > + > > VSEObj.SetSize ((UINT16) Size); > > VSEObj.SetName (StoreName); > if > > (IsUEFI23EfiVarstore =3D=3D FALSE && StoreName !=3D NULL) {@@ -1184,7 > > +1193,7 @@ vfrStatementVarStoreNameValue : > > >> } > (- Name "=3D" "STRING_TOKEN" "\(" > > N:Number "\)" "," << + Name "=3D" "STRING_TOKEN" "\(" N:Number > "\)" "," > > << if > (!Created) > > > { _PC > ATCH(gCVfrDataStorage.DeclareNameVar > > StoreBegin (SN->getText(), VarStoreId), SN); Created =3D TRUE;@@ > > -1245,12 +1254,12 @@ vfrStatementDisableIfFormSet : > > vfrStatementSuppressIfFormSet : << CIfrSuppressIf SIObj;>> > L:SuppressIf > > <<- > SIObj.SetLineNo(L->getLine()); + > > > SIObj.SetLineNo(L->getLine()); > >> { FLAGS "=3D" > > flagsField ( "\|" flagsField )* "," } vfrStatementExpression[0] ";" > > vfrFormSetList- E: EndIf + E: EndIf ";" > << > > CRT_END_OP (E); >> ; @@ -1491,7 +1500,7 @@ > vfrQuestionDataFieldName > > [EFI_QUESTION_ID &QId, UINT32 &Mask, CHAR8 *&VarIdStr, > > ( SN2:StringIdentifier << > _STRCAT (&VarIdStr, SN2- > > >getText()); LineNo =3D SN2->getLine(); >> (- "." > << + > > "." << > _STRCAT > > (&VarIdStr, "."); > if > > (mConstantOnlyInExpression) > > > { _PC > ATCH(VFR_RETURN_CONSTANT_ONLY, > > LineNo);@@ -1518,7 +1527,7 @@ vfrQuestionDataFieldName > > [EFI_QUESTION_ID &QId, UINT32 &Mask, CHAR8 *&VarIdStr, > > ; vfrConstantValueField[UINT8 Type, EFI_IFR_TYPE_VALUE &Value, > > BOOLEAN &ListType] :- << + << EFI_GUID Guid; > BOOLEAN Negative =3D > > FALSE; BOOLEAN IntDecStyle =3D FALSE;@@ -1634,11 +1643,11 > @@ > > vfrConstantValueField[UINT8 Type, EFI_IFR_TYPE_VALUE &Value, > BOOLEAN > > &ListType] > > | Z:Zero << > $Value.u8 =3D _STOU8(Z->getText(), Z- > > >getLine()); >> | HOUR:Number ":" MINUTE:Number ":" > SECOND:Number << > > $Value.time =3D _STOT(HOUR->getText(), MINUTE->getText(),SECOND- > > >getText(), HOUR->getLine()); >> | YEAR:Number "/" MONTH:Number > "/" > > DAY:Number << $Value.date =3D _STOD(YEAR->getText(), > MONTH->getText(), > > DAY->getText(), YEAR->getLine()); >>- | QI:Number";" FI:Number";" > > guidDefinition[Guid] ";" "STRING_TOKEN" "\(" DP:Number "\)" + | > > QI:Number";" FI:Number";" guidDefinition[Guid] ";" "STRING_TOKEN" "\(" > > DP:Number "\)" > << $Value.ref =3D _STOR(QI- > > >getText(), FI->getText(), &Guid, DP->getText(), QI->getLine()); >> | > > "STRING_TOKEN" "\(" S1:Number "\)" << $Value.string =3D > _STOSID(S1- > > >getText(), S1->getLine()); >> | "\{" > << ListType =3D > > TRUE; >>- L1:Number > << + L1:Number > > << > switch (Type) > > > { case > EFI_IFR_TYPE_NUM_SIZE_8 : > > Type8[Index] =3D _STOU8(L1->getText(), L1->getLine());@@ -1658,8 > > +1667,8 @@ vfrConstantValueField[UINT8 Type, EFI_IFR_TYPE_VALUE > > &Value, BOOLEAN &ListType] > > > Index++; >> > (- > > "," - L2:Number << + > ","+ L2:Number > > << > switch (Type) > > > { case > EFI_IFR_TYPE_NUM_SIZE_8 : > > Type8[Index] =3D _STOU8(L2->getText(), L2->getLine());@@ -1679,7 > > +1688,7 @@ vfrConstantValueField[UINT8 Type, EFI_IFR_TYPE_VALUE > > &Value, BOOLEAN &ListType] > > > > > Index++; >> > )*- "\}" + > > "\}" ; > > > //************************************************************ > ** > > ***************@@ -1714,7 +1723,7 @@ vfrFormDefinition : > > ; vfrFormMapDefinition :- << + << CIfrFormMap *FMapObj =3D > NULL; > > UINT32 FormMapMethodNumber =3D 0; EFI_GUID Guid;@@ > -1775,11 > > +1784,15 @@ vfrStatementDefault : > > CIfrNumeric *NumericQst =3D NULL; >>- > D:Default > > + D:Default <<+ > if > > (mIsCatchDefaultEnable) {+ > > DefaultValueError(VFR_RETURN_UNSUPPORTED, D- > > >getLine());+ > }+ >> > > ( (- "=3D" vfrConstantValueField[_GET_CURRQEST_DATATYPE(), > *Val, > > ArrayType] "," - > << + "=3D" > > vfrConstantValueField[_GET_CURRQEST_DATATYPE(), *Val, ArrayType] ","+ > > << if > (gCurrentMinMaxData !=3D NULL && > > gCurrentMinMaxData->IsNumericOpcode()) > > > { //c > heck default value is valid for Numeric > > Opcode > NumericQst =3D (CIfrNumeric *) > > gCurrentQuestion;@@ -1888,14 +1901,14 @@ vfrStatementDefault : > > vfrStatementValue "," << CIfrEnd > EndObj1; > > EndObj1.SetLineNo(D->getLine()); >> ) {- DefaultStore "=3D= " > > SN:StringIdentifier "," << + DefaultStore "=3D" SN:StringIdentifier > "," << > > _PCATCH(gCVfrDefaultStore.GetDefaultId (SN->getText(), &DefaultId), SN)= ; > > if (DObj !=3D NULL) {- > DObj->SetDefaultId > > (DefaultId); > - } + > > DObj->SetDefaultId > (DefaultId);+ > } > > if (DObj2 !=3D NULL) {- > DObj2->SetDefaultId > > (DefaultId); + > DObj2->SetDefaultId > > > (DefaultId); > } >> > > }@@ -1917,8 +1930,8 @@ vfrStatementDefault : > > > ); > } > > }- > if (DObj !=3D NULL) > > {delete DObj;} - > if (DObj2 !=3D NULL) {delete > > DObj2;} + > if (DObj !=3D NULL) {delete DObj;}+ > > if (DObj2 !=3D NULL) {delete > DObj2;} >> > ) ;@@ - > > 1970,11 +1983,15 @@ vfrStatementInvalid : > > ; flagsField :- Number - | InteractiveFlag - | > > ManufacturingFlag - | DefaultFlag - | ResetRequiredFlag + Number+ > > | InteractiveFlag+ | > > ManufacturingFlag+ | D:DefaultFlag > <<+ > > if (mIsCatchDefaultEnable) {+ > > DefaultValueError(VFR_RETURN_UNSUPPORTED, D- > > >getLine());+ > }+ > > >>+ | ResetRequiredFlag | ReconnectRequiredFlag | > N:NVAccessFlag > > << > gCVfrErrorHandle.HandleWarning (@@ - > > 1989,7 +2006,7 @@ flagsField : > > > > L->getLine(), > > > L->getText() > );- > > >> > + >> ; > > vfrStatementValue :@@ -2001,13 +2018,13 @@ vfrStatementValue : > > vfrStatementRead : << CIfrRead RObj; >> R:Read > > << RObj.SetLineNo(R->getLine()); >>- vfrStatementExpression[0] ";" + > > vfrStatementExpression[0] ";" ; vfrStatementWrite : << CIfrWrite > WObj; >> > > W:Write << > WObj.SetLineNo(W->getLine()); >>- > > vfrStatementExpression[0] ";" + vfrStatementExpression[0] ";" ; > > vfrStatementSubTitle :@@ -2140,7 +2157,7 @@ vfrStatementGoto : > > FormId "=3D" F3:Number "," << > RefType =3D 2; FId =3D _STOFID(F3- > > >getText(), F3->getLine()); >> Question "=3D" (- > QN3:StringIdentifier > > "," << + QN3:StringIdentifier "," > << > > mCVfrQuestionDB.GetQuestionId (QN3->getText (), NULL, QId, BitMask); > > if (QId =3D=3D EFI_QUESTION_ID_INVALID) > > > { > _PCATCH(VFR_RETURN_UNDEFINED, > > QN3);@@ -2222,7 +2239,7 @@ vfrStatementGoto : > > "," Key "=3D" KN:Number << > AssignQuestionKey (*QHObj, > > KN); >> } {- E:"," + E:"," > vfrStatementQuestionOptionList << > > OHObj->SetScope(1); CRT_END_OP (E);>> } ";" > > << if (R1Obj !=3D NULL) {delete R1Obj;} if (R2Obj !=3D NULL) {delete > > R2Obj;} if (R3Obj !=3D NULL) {delete R3Obj;} if (R4Obj !=3D NULL) {dele= te > > R4Obj;} if (R5Obj !=3D > > NULL) {delete R5Obj;}>>@@ -2511,20 +2528,20 @@ > > minMaxDateStepDefault[EFI_HII_DATE & D, UINT8 KeyValue] : > > { "default" "=3D" N:Number "," << > > switch (KeyValue) {- > case 0: + > > case 0: > D.Year =3D _STOU16(N->getText(), N- > > >getLine()); > if (D.Year < _STOU16 (MinN- > > >getText(), MinN->getLine()) || D.Year > _STOU16 (MaxN->getText(), MaxN= - > > >getLine())) > { > _PCATCH > > (VFR_RETURN_INVALID_PARAMETER, N->getLine(), "Year default value > must > > be between Min year and Max > year."); > } > > break;- > case 1: - > > D.Month =3D _STOU8(N->getText(), N->getLine()); + > > case 1:+ > D.Month =3D _STOU8(N->getText(), N- > > >getLine()); > if (D.Month < 1 || D.Month > 12) > > > { > _PCATCH > > (VFR_RETURN_INVALID_PARAMETER, N->getLine(), "Month default value > > must be between 1 and > 12."); > } > > break;- > case 2: - > > D.Day =3D _STOU8(N->getText(), N->getLine()); + > > case 2:+ > D.Day =3D _STOU8(N->getText(), N- > > >getLine()); > if (D.Day < 1 || D.Day > 31) > > > { > _PCATCH > > (VFR_RETURN_INVALID_PARAMETER, N->getLine(), "Day default value > must > > be between 1 and > 31."); > }@@ -2570,7 > > +2587,7 @@ vfrSetMinMaxStep[CIfrMinMaxStepData & MMSDObj] : > > BOOLEAN MinNegative =3D FALSE; BOOLEAN MaxNegative =3D > FALSE; >>- > > Minimum "=3D" + Minimum "=3D" { "\-" > << > > MinNegative =3D TRUE; >> }@@ -2659,8 +2676,8 @@ > > vfrSetMinMaxStep[CIfrMinMaxStepData & MMSDObj] : > > > } } > > >>- Maximum "=3D" - > { + Maximum "=3D"+ { "\-" > > << MaxNegative =3D TRUE; >> } A:Number "," > <<@@ - > > 2889,7 +2906,7 @@ vfrStatementNumeric : > > } > >> > > vfrStatementQuestionOptionList- E:EndNumeric > << + > > E:EndNumeric << > > CRT_END_OP (E); > if (GuidObj !=3D NULL) > > > { > GuidObj->SetScope(1);@@ -3131,7 > > +3148,7 @@ vfrStatementString : > > { Key "=3D" KN:Number "," << > AssignQuestionKey (SObj, > > KN); >> }- MinSize "=3D" MIN:Number "," > << + MinSize "=3D" > > MIN:Number "," << > > VarArraySize =3D _GET_CURRQEST_ARRAY_SIZE(); StringMinSize =3D > > _STOU8(MIN->getText(), MIN->getLine()); if (_STOU64(MIN->getText(), > > MIN->getLine()) > StringMinSize) {@@ -3141,7 > > +3158,7 @@ vfrStatementString : > > } > > SObj.SetMinSize > (StringMinSize); > >>- MaxSize > > "=3D" MAX:Number "," << + MaxSize "=3D" > MAX:Number "," > > << > StringMaxSize =3D _STOU8(MAX->getText(), > > MAX->getLine()); > if (_STOU64(MAX- > > >getText(), MAX->getLine()) > StringMaxSize) > > > { > _PCATCH > > (VFR_RETURN_INVALID_PARAMETER, MAX->getLine(), "String MaxSize > takes > > only one byte, which can't be larger than 0xFF.");@@ -3185,7 +3202,7 > > @@ vfrStatementPassword : > > { Key "=3D" KN:Number "," << > AssignQuestionKey (PObj, > > KN); >> }- MinSize "=3D" MIN:Number "," > << + MinSize "=3D" > > MIN:Number "," << > > VarArraySize =3D _GET_CURRQEST_ARRAY_SIZE(); PasswordMinSize =3D > > _STOU16(MIN->getText(), MIN->getLine()); if (_STOU64(MIN->getText(), > > MIN->getLine()) > PasswordMinSize) {@@ - > > 3195,7 +3212,7 @@ vfrStatementPassword : > > } > > PObj.SetMinSize > (PasswordMinSize); > >>- > > MaxSize "=3D" MAX:Number "," << + > MaxSize "=3D" MAX:Number > > "," << > PasswordMaxSize =3D > > _STOU16(MAX->getText(), MAX->getLine()); > if > > (_STOU64(MAX->getText(), MAX->getLine()) > PasswordMaxSize) > > > { > _PCATCH > > (VFR_RETURN_INVALID_PARAMETER, MAX->getLine(), "Password MaxSize > takes > > only two byte, which can't be larger than 0xFFFF.");@@ -3230,12 > > +3247,12 @@ vfrStatementOrderedList : > > >> L:OrderedList > << OLObj.SetLineNo(L->getLine()); > > gIsOrderedList =3D TRUE;>> vfrQuestionHeader[OLObj] ","- > > << + << > > VarArraySize =3D _GET_CURRQEST_ARRAY_SIZE(); OLObj.SetMaxContainers > > ((UINT8) (VarArraySize > 0xFF ? 0xFF : > > > VarArraySize)); > >> {- MaxContainers "=3D" > > M:Number "," << + MaxContainers "=3D" > M:Number "," > > << > if (_STOU64(M->getText(), M->getLine()) > > > _STOU8(M->getText(), M->getLine())) > > > { > _PCATCH > > (VFR_RETURN_INVALID_PARAMETER, M->getLine(), "OrderedList > > MaxContainers takes only one byte, which can't be larger than > > > 0xFF."); > } else if (VarArraySize !=3D 0 && > > _STOU8(M->getText(), M->getLine()) > VarArraySize) {@@ -3328,19 > > +3345,19 @@ minMaxTimeStepDefault[EFI_HII_TIME & T, UINT8 > KeyValue] : > > { "default" "=3D" N:Number "," << > > switch (KeyValue) {- > case 0: - > > T.Hour =3D _STOU8(N->getText(), N->getLine()); + > > case 0:+ > T.Hour =3D _STOU8(N->getText(), N- > > >getLine()); > if (T.Hour > 23) > > > { > _PCATCH > > (VFR_RETURN_INVALID_PARAMETER, N->getLine(), "Hour default value > must > > be between 0 and > 23."); > } > > break;- > case 1: - > > T.Minute =3D _STOU8(N->getText(), N->getLine()); + > > case 1:+ > T.Minute =3D _STOU8(N->getText(), N- > > >getLine()); > if (T.Minute > 59) > > > { > _PCATCH > > (VFR_RETURN_INVALID_PARAMETER, N->getLine(), "Minute default value > > must be between 0 and > 59."); > } > > break;- > case 2: + > > case 2: > T.Second =3D _STOU8(N->getText(), N- > > >getLine()); > if (T.Second > 59) > > > { > _PCATCH > > (VFR_RETURN_INVALID_PARAMETER, N->getLine(), "Second default value > > must be between 0 and 59.");@@ -3419,11 +3436,11 @@ > > vfrStatementStatListOld : > > ; vfrStatementDisableIfStat :- << - CIfrDisableIf DIObj; + <<+ > > CIfrDisableIf DIObj; >> L:DisableIf > << > > DIObj.SetLineNo(L->getLine()); >>- vfrStatementExpression[0] ";" + > > vfrStatementExpression[0] ";" ( vfrStatementStatList )* E:EndIf > > << CRT_END_OP (E); >> ";"@@ -3548,8 +3565,8 @@ > > vfrStatementWarningIf : > > ; vfrStatementDisableIfQuest :- << - CIfrDisableIf DIObj; + > <<+ > > CIfrDisableIf DIObj; >> L:DisableIf > << > > DIObj.SetLineNo(L->getLine()); >> vfrStatementExpression[0] ";"@@ - > > 3616,15 +3633,15 @@ vfrStatementOneOfOption : > > UINT32 *Type32 =3D (UINT32 *) ValueList; > UINT64 > > *Type64 =3D (UINT64 *) ValueList; >>- L:Option > << > > + L:Option << > if > > (_GET_CURRQEST_DATATYPE() =3D=3D EFI_IFR_TYPE_OTHER) > > > { > _PCATCH (VFR_RETURN_FATAL_ERROR, L- > > >getLine(), "Get data type > > > error."); > } > > >- > > Text "=3D" "STRING_TOKEN" "\(" S:Number "\)" "," + Text "=3D" > > "STRING_TOKEN" "\(" S:Number "\)" "," Value "=3D" > > vfrConstantValueField[_GET_CURRQEST_DATATYPE(), *Val, ArrayType] ","- > > << + << > if > > (gCurrentMinMaxData !=3D NULL) > { > //set > > min/max value for oneof opcode > UINT64 > > Step =3D gCurrentMinMaxData->GetStepData(_GET_CURRQEST_DATATYPE(), > > _GET_CURRQEST_VARTINFO().mIsBitVar);@@ -3696,7 +3713,7 @@ > > vfrStatementOneOfOption : > > > Size +=3D OFFSET_OF > > (EFI_IFR_ONE_OF_OPTION, Value); > OOOObj =3D > > new CIfrOneOfOption((UINT8)Size); > OOOObj- > > >SetLineNo(L->getLine());- > OOOObj- > > >SetOption (_STOSID(S->getText(), S->getLine())); + > > OOOObj->SetOption (_STOSID(S->getText(), S->getLine())); > > if (ArrayType) > { > OOOObj->SetType > > > (EFI_IFR_TYPE_BUFFER); > } else {@@ -3706,7 > > +3723,7 @@ vfrStatementOneOfOption : > > > OOOObj->SetType > > > (_GET_CURRQEST_DATATYPE()); > } > > }- > OOOObj->SetValue > > (*Val); + > OOOObj->SetValue > > > (*Val); >> > F:FLAGS "=3D" > > vfrOneOfOptionFlags[*OOOObj, F->getLine()] <<@@ -3790,7 +3807,12 @@ > > oneofoptionFlagsField [UINT8 & HFlags, UINT8 & LFlags] : > > | RestStyleFlag << > $HFlags |=3D 0x20; >> | > > ReconnectRequiredFlag << $HFlags |=3D > 0x40; >> | > > ManufacturingFlag << $LFlags |=3D > 0x20; >>- | DefaultFlag > > << $LFlags |=3D 0x10; >>+ | D:DefaultFlag > <<+ > > $LFlags |=3D 0x10;+ > if (mIsCatchDefaultEnable) > > {+ > > DefaultValueError(VFR_RETURN_UNSUPPORTED, D- > > >getLine());+ > }+ > > >> | A:NVAccessFlag << > > gCVfrErrorHandle.HandleWarning > > > ( > VFR_WARNING_OBSOLETED_FRAMEWORK > > _OPCODE,@@ -3963,7 +3985,7 @@ vfrStatementExpression [UINT32 > > RootLevel, UINT32 ExpOpCount =3D 0] : > > > } > } > > }- > + > > if ($RootLevel =3D=3D 0) > { > _CLEAR_SAVED_OPHDR > > (); > mCIfrOpHdrIndex --;@@ -4405,10 > > +4427,10 @@ ideqvallistExp[UINT32 & RootLevel, UINT32 & ExpOpCount] : > > > for (Index =3D 0; Index < ListLen; Index++) > > > { > EILObj.SetValueList (Index, > > > ValueList[Index]); > }- > > + > > + EILObj.UpdateIfrBuffer();- > > _SAVE_OPHDR_COND (EILObj, ($ExpOpCount =3D=3D 0), L->getLine()); > > - > + > > _SAVE_OPHDR_COND (EILObj, ($ExpOpCount =3D=3D 0), L->getLine());+ if (Q= Id > > =3D=3D EFI_QUESTION_ID_INVALID) > > > { > EILObj.SetQuestionId (QId, VarIdStr, > > > LineNo); > }@@ -4458,9 +4480,9 @@ > > stringref1Exp[UINT32 & RootLevel, UINT32 & ExpOpCount] : > > >> L:StringRef "\("- ( + > ( "STRING_TOKEN"- "\(" + "\(" > > S:Number << RefStringId =3D _STOSID(S->getText(), S->getLine()); >> > "\)" > > | I:Number << RefStringId =3D _STOSID(I->getText(), I->getLine()); >>@@ > > | - > > 4499,10 +4521,10 @@ getExp[UINT32 & RootLevel, UINT32 & > ExpOpCount] : > > Info.mVarStoreId =3D 0; >> L:Get- "\(" + "\(" > vfrStorageVarId[Info, > > VarIdStr, FALSE] {"\|" FLAGS "=3D" numericVarStoreType [VarType] = }- > "\)" > > << + "\)" << > > > { i > f (Info.mVarStoreId =3D=3D 0) > > > { > // support Date/Time question@@ - > > 4549,9 +4571,9 @@ getExp[UINT32 & RootLevel, UINT32 & ExpOpCount] : > > > > _PCATCH(VFR_RETURN_UNSUPPORTED, L- > > >getLine(), "Get/Set opcode don't support data > > > array"); > } > } > > - > CIfrGet GObj(L->getLine()); - > > _SAVE_OPHDR_COND (GObj, ($ExpOpCount =3D=3D 0), L->getLine()); - > > GObj.SetVarInfo (&Info); + > CIfrGet GObj(L- > > >getLine());+ > _SAVE_OPHDR_COND (GObj, > > ($ExpOpCount =3D=3D 0), L->getLine());+ > > GObj.SetVarInfo (&Info); > delete[] VarIdStr; > > > $ExpOpCount++; > }@@ -4608,7 +4630,7 @@ > > question23refExp[UINT32 & RootLevel, UINT32 & ExpOpCount] : > > { Uuid "=3D" guidDefinition[Guid] "," > << Type =3D 0x3; >> }- > > vfrStatementExpressionSub[$RootLevel + 1, $ExpOpCount] + > > vfrStatementExpressionSub[$RootLevel + 1, $ExpOpCount] "\)" > > << > switch (Type) {@@ -4675,9 +4697,9 @@ > > setExp[UINT32 & RootLevel, UINT32 & ExpOpCount] : > > "\(" vfrStorageVarId[Info, VarIdStr, FALSE] {"\|" FLAG "= =3D" > > numericVarStoreType [VarType] }- "," > > vfrStatementExpressionSub[$RootLevel + 1, $ExpOpCount] + "," > > vfrStatementExpressionSub[$RootLevel + 1, $ExpOpCount] "\)"- > > << + << > > > { i > f (Info.mVarStoreId =3D=3D 0) > > > { > // support Date/Time question@@ - > > 4724,8 +4746,8 @@ setExp[UINT32 & RootLevel, UINT32 & ExpOpCount] : > > > > _PCATCH(VFR_RETURN_UNSUPPORTED, L- > > >getLine(), "Get/Set opcode don't support data > > > array"); > } > } > > - > CIfrSet TSObj(L->getLine()); - > > TSObj.SetVarInfo (&Info); + > CIfrSet TSObj(L- > > >getLine());+ > TSObj.SetVarInfo (&Info); > > delete[] VarIdStr; > > > $ExpOpCount++; > }@@ -4808,9 +4830,9 @@ > > spanExp[UINT32 & RootLevel, UINT32 & ExpOpCount] : > > ; vfrExpressionMap [UINT32 & RootLevel, UINT32 & ExpOpCount]:- > > L:Map > > - "\(" - vfrStatementExpressionSub[$RootLevel + 1, $ExpOpCount] + > L:Map+ > > "\("+ vfrStatementExpressionSub[$RootLevel + 1, $ExpOpCount] ":" > > << { CIfrMap MObj(L->getLine()); } >> > ( vfrStatementExpression[0]@@ - > > 4837,6 +4859,7 @@ spanFlags [UINT8 & Flags] : > > class EfiVfrParser { << private:+ BOOLEAN > mIsCatchDefaultEnable; > > UINT8 mParserStatus; BOOLEAN > mConstantOnlyInExpression; > > @@ -4880,6 +4903,7 @@ public: > > VOID _PCATCH (IN EFI_VFR_RETURN_CODE, IN > ANTLRTokenPtr); > > VOID _PCATCH (IN EFI_VFR_RETURN_CODE, IN UINT32); > VOID > > _PCATCH (IN EFI_VFR_RETURN_CODE, IN UINT32, IN CONST CHAR8 *);+ > VOID > > DefaultValueError (IN EFI_VFR_RETURN_CODE, IN UINT32); VOID > > syn (ANTLRAbstractToken *, ANTLRChar *, SetWordType *, > > ANTLRTokenType, INT32); @@ -4909,6 +4933,7 @@ public: > > VOID IdEqIdDoSpecial (IN UINT32 &, IN > UINT32, IN > > EFI_QUESTION_ID, IN CHAR8 *, IN UINT32, IN EFI_QUESTION_ID, IN > CHAR8 *, > > IN UINT32, IN EFI_COMPARE_TYPE); VOID > IdEqListDoSpecial (IN > > UINT32 &, IN UINT32, IN EFI_QUESTION_ID, IN CHAR8 *, IN UINT32, IN > > UINT16, IN UINT16 *); VOID SetOverrideClassGuid > (IN EFI_GUID *);+ > > VOID SetIsCatchDefaultEnable (BOOLEAN > IsCatchDefaultEnable); >> } > > @@ -5086,6 +5111,17 @@ EfiVfrParser::_PCATCH ( > > mParserStatus =3D mParserStatus + gCVfrErrorHandle.HandleError > > (ReturnCode, LineNum, (CHAR8 *) ErrorMsg); } > > +VOID+EfiVfrParser::DefaultValueError (+ IN EFI_VFR_RETURN_CODE > > ReturnCode,+ IN UINT32 LineNum+ )+{+ CHAR8 > ErrorMsg[100];+ > > sprintf(ErrorMsg, "please remove the default value / defaultstore in > > line %d", LineNum);+ mParserStatus =3D mParserStatus + > > gCVfrErrorHandle.HandleError (ReturnCode, LineNum, ErrorMsg);+}+ VOID > EfiVfrParser::syn > > ( ANTLRAbstractToken *Tok,@@ -5682,12 +5718,18 @@ > > EfiVfrParser::IdEqListDoSpecial ( > > } } -VOID +VOID EfiVfrParser::SetOverrideClassGuid (IN EFI_GUID > > *OverrideClassGuid) { mOverrideClassGuid =3D OverrideClassGuid; } > > +VOID+EfiVfrParser::SetIsCatchDefaultEnable (BOOLEAN > > IsCatchDefaultEnable)+{+ mIsCatchDefaultEnable =3D > IsCatchDefaultEnable;+}+ > > VOID EfiVfrParser::CheckDuplicateDefaultValue ( IN EFI_DEFAULT_ID > > DefaultId,-- > > 2.26.2.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#112876): https://edk2.groups.io/g/devel/message/112876 Mute This Topic: https://groups.io/mt/103355296/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-