From nobody Tue Feb 10 03:37:28 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+67069+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+67069+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=hpe.com ARC-Seal: i=1; a=rsa-sha256; t=1604633737; cv=none; d=zohomail.com; s=zohoarc; b=LMQnaJ/ZBC8B/DrBCCIMJpaI7M3IQhM7CCtO4+OPQDoGVLNPXeyJ5f0lKLzNNd3wVLNhFkQiyZdexIX3O70o2+tKoJcGyOrwTRGFm200IOpp7M+RBHvvH7HmhLt/ll4seTIRvKae9Dy4c277nmbzrEfxEu3+DuukrBBIIR6Z2Qk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1604633737; h=Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=Pf+5cEgFpxgVeiHj82+BvIVV0zQtIV5hLe+JDJ+8hs0=; b=iuNq93wJCt7jxeVcj1DDyyP+9PoOMTadeEI2N9IRNuHJZ6byFVk3oaVTUPHKQLx/JA5xljHuBDd7Z18Ur8OH47WQQbMJQbFMKmnIvV87CDwrm5v1JO6HEvPf+g6A0yePpLRrz1lPxE2+VFjE9FVU0CiBoPhHOdfcjJL/YjoAEqo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+67069+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1604633737934991.8157232916321; Thu, 5 Nov 2020 19:35:37 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id 5EyeYY1788612x3SaZSMa5ij; Thu, 05 Nov 2020 19:35:37 -0800 X-Received: from mx0a-002e3701.pphosted.com (mx0a-002e3701.pphosted.com [148.163.147.86]) by mx.groups.io with SMTP id smtpd.web09.7011.1604633727192210101 for ; Thu, 05 Nov 2020 19:35:27 -0800 X-Received: from pps.filterd (m0134420.ppops.net [127.0.0.1]) by mx0b-002e3701.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 0A63X5Nb032045; Fri, 6 Nov 2020 03:35:22 GMT X-Received: from g2t2354.austin.hpe.com (g2t2354.austin.hpe.com [15.233.44.27]) by mx0b-002e3701.pphosted.com with ESMTP id 34kc8dxqdv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 06 Nov 2020 03:35:22 +0000 X-Received: from g2t2360.austin.hpecorp.net (g2t2360.austin.hpecorp.net [16.196.225.135]) by g2t2354.austin.hpe.com (Postfix) with ESMTP id 30E66A2; Fri, 6 Nov 2020 03:35:20 +0000 (UTC) X-Received: from abner-virtual-machine.asiapacific.hpqcorp.net (abner-virtual-machine.asiapacific.hpqcorp.net [15.119.210.153]) by g2t2360.austin.hpecorp.net (Postfix) with ESMTP id B4E9237; Fri, 6 Nov 2020 03:35:19 +0000 (UTC) From: "Abner Chang" To: devel@edk2.groups.io Cc: Bob Feng , Liming Gao , Yuwei Chen , Nickle Wang Subject: [edk2-devel] [VFR support REST_STYLE PATCH v4 2/4] BaseTools/VfrCompile: VFR compiler supports REST_STYLE in HII option Date: Fri, 6 Nov 2020 10:49:37 +0800 Message-Id: <20201106024939.17761-3-abner.chang@hpe.com> In-Reply-To: <20201106024939.17761-1-abner.chang@hpe.com> References: <20201106024939.17761-1-abner.chang@hpe.com> X-Proofpoint-UnRewURL: 0 URL was un-rewritten MIME-Version: 1.0 X-HPE-SCL: -1 Precedence: Bulk List-Unsubscribe: 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,abner.chang@hpe.com X-Gm-Message-State: 0THfp50IIpOfmYdqxmeSOHfPx1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1604633737; bh=JCidA/JiIq483qoy4SOufhRf3vJST4F8UfvZEMBkb+M=; h=Cc:Date:From:Reply-To:Subject:To; b=NFXng+D+iqahdoxwLtmS1ZizmXlnUU+u+BgLYyej1DAp7JjdFRhPRE6UTyVKYcPVyM+ UxK75i3ORxjUNCiaH97xSQM7APaQCzOLJhpVoFlODOjrQ6UMzeRiidgWyTtfd4qtJwbzt uhjMmVVyWUvTg8h3yrP804B3DTpFv9R2JzM= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add REST_STYLE support on VFR language BZ: 2916 https://bugzilla.tianocore.org/show_bug.cgi?id=3D2916 Signed-off-by: Wu Jiaxin Signed-off-by: Ye Ting Signed-off-by: Fu Siyuan Signed-off-by: Wang Fan Cc: Bob Feng Cc: Liming Gao Cc: Yuwei Chen Cc: Nickle Wang Reviewed-by: Liming Gao --- BaseTools/Source/C/VfrCompile/VfrSyntax.g | 25 ++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/BaseTools/Source/C/VfrCompile/VfrSyntax.g b/BaseTools/Source/C= /VfrCompile/VfrSyntax.g index 127cb8b2b2..3f896c6f1a 100644 --- a/BaseTools/Source/C/VfrCompile/VfrSyntax.g +++ b/BaseTools/Source/C/VfrCompile/VfrSyntax.g @@ -192,6 +192,7 @@ VfrParserStart ( #token LateCheckFlag("LATE_CHECK") "LATE_CHECK" #token ReadOnlyFlag("READ_ONLY") "READ_ONLY" #token OptionOnlyFlag("OPTIONS_ONLY") "OPTIONS_ONLY" +#token RestStyleFlag("REST_STYLE") "REST_STYLE" #token Class("class") "class" #token Subclass("subclass") "subclass" #token ClassGuid("classguid") "classguid" @@ -584,7 +585,7 @@ vfrFormSetDefinition : << EFI_GUID Guid; EFI_GUID DefaultClassGuid =3D EFI_HII_PLATFORM_SETUP_FORMSET_GUID; - EFI_GUID ClassGuid1, ClassGuid2, ClassGuid3; + EFI_GUID ClassGuid1, ClassGuid2, ClassGuid3, ClassGuid4; UINT8 ClassGuidNum =3D 0; CIfrFormSet *FSObj =3D NULL; UINT16 C, SC; @@ -600,13 +601,16 @@ vfrFormSetDefinition : "\|" guidDefinition[ClassGuid2] << ++ClassGuidNum; >> { "\|" guidDefinition[ClassGuid3] << ++ClassGuidNum; = >> + { + "\|" guidDefinition[ClassGuid4] << ++ClassGuidNu= m; >> + } } } "," } << - if (mOverrideClassGu= id !=3D NULL && ClassGuidNum >=3D 3) { - _PCATCH (VFR_RETUR= N_INVALID_PARAMETER, L->getLine(), "Already has 3 class guids, can't add ex= tra class guid!"); + if (mOverrideClassGu= id !=3D NULL && ClassGuidNum >=3D 4) { + _PCATCH (VFR_RETUR= N_INVALID_PARAMETER, L->getLine(), "Already has 4 class guids, can't add ex= tra class guid!"); } switch (ClassGuidNum= ) { case 0: @@ -643,10 +647,23 @@ vfrFormSetDefinition : } break; case 3: + if (mOverrideClass= Guid !=3D NULL) { + ClassGuidNum ++; + } + FSObj =3D new CIfr= FormSet(sizeof(EFI_IFR_FORM_SET) + ClassGuidNum * sizeof(EFI_GUID)); + FSObj->SetClassGui= d(&ClassGuid1); + FSObj->SetClassGui= d(&ClassGuid2); + FSObj->SetClassGui= d(&ClassGuid3); + if (mOverrideClass= Guid !=3D NULL) { + FSObj->SetClassG= uid(mOverrideClassGuid); + } + break; + case 4: FSObj =3D new CIfr= FormSet(sizeof(EFI_IFR_FORM_SET) + ClassGuidNum * sizeof(EFI_GUID)); FSObj->SetClassGui= d(&ClassGuid1); FSObj->SetClassGui= d(&ClassGuid2); FSObj->SetClassGui= d(&ClassGuid3); + FSObj->SetClassGui= d(&ClassGuid4); break; default: break; @@ -1321,6 +1338,7 @@ questionheaderFlagsField[UINT8 & Flags] : ReadOnlyFlag << $Flags |=3D 0x01; >> | InteractiveFlag << $Flags |=3D 0x04; >> | ResetRequiredFlag << $Flags |=3D 0x10; >> + | RestStyleFlag << $Flags |=3D 0x20; >> | ReconnectRequiredFlag << $Flags |=3D 0x40; >> | O:OptionOnlyFlag << gCVfrErrorHandle.Ha= ndleWarning ( @@ -3766,6 +3784,7 @@ oneofoptionFlagsField [UINT8 & HFlags, UINT8 & LFlags= ] : | "OPTION_DEFAULT_MFG" << $LFlags |=3D 0x2= 0; >> | InteractiveFlag << $HFlags |=3D 0x0= 4; >> | ResetRequiredFlag << $HFlags |=3D 0x1= 0; >> + | RestStyleFlag << $HFlags |=3D 0x2= 0; >> | ReconnectRequiredFlag << $HFlags |=3D 0x4= 0; >> | ManufacturingFlag << $LFlags |=3D 0x2= 0; >> | DefaultFlag << $LFlags |=3D 0x1= 0; >> --=20 2.17.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 (#67069): https://edk2.groups.io/g/devel/message/67069 Mute This Topic: https://groups.io/mt/78067342/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-