From: "Liming Gao" <liming.gao@intel.com>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>,
"Bi, Dandan" <dandan.bi@intel.com>
Cc: "Feng, Bob C" <bob.c.feng@intel.com>
Subject: Re: [edk2-devel] [patch] BaseTools/VfrCompile: clean Framework Vfr support
Date: Fri, 10 May 2019 07:36:31 +0000 [thread overview]
Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E446702@SHSMSX104.ccr.corp.intel.com> (raw)
In-Reply-To: <20190510054423.19900-1-dandan.bi@intel.com>
This change is good. Reviewed-by: Liming Gao <liming.gao@intel.com>
>-----Original Message-----
>From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
>Dandan Bi
>Sent: Friday, May 10, 2019 1:44 PM
>To: devel@edk2.groups.io
>Cc: Feng, Bob C <bob.c.feng@intel.com>; Gao, Liming <liming.gao@intel.com>
>Subject: [edk2-devel] [patch] BaseTools/VfrCompile: clean Framework Vfr
>support
>
>REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1464
>
>This commit is to do the cleanup which are missing in
>previous commit 1b72fd5121b5b31918be0a9a0868a39070d4c8d4
>BaseTools/VfrCompile: Remove framework VFR support
>
>Cc: Bob Feng <bob.c.feng@intel.com>
>Cc: Liming Gao <liming.gao@intel.com>
>Signed-off-by: Dandan Bi <dandan.bi@intel.com>
>---
> BaseTools/Source/C/VfrCompile/VfrSyntax.g | 272 +++++-----------------
> 1 file changed, 55 insertions(+), 217 deletions(-)
>
>diff --git a/BaseTools/Source/C/VfrCompile/VfrSyntax.g
>b/BaseTools/Source/C/VfrCompile/VfrSyntax.g
>index 24b30e3825..127cb8b2b2 100644
>--- a/BaseTools/Source/C/VfrCompile/VfrSyntax.g
>+++ b/BaseTools/Source/C/VfrCompile/VfrSyntax.g
>@@ -652,16 +652,10 @@ vfrFormSetDefinition :
> break;
> }
>
> SET_LINE_INFO (*FSObj, L);
> FSObj->SetGuid (&Guid);
>- //
>- // for framework vfr to store formset guid used by
>varstore and efivarstore
>- //
>- if (mCompatibleMode) {
>- memcpy (&mFormsetGuid, &Guid, sizeof
>(EFI_GUID));
>- }
> FSObj->SetFormSetTitle (_STOSID(S1->getText(),
>S1->getLine()));
> FSObj->SetHelp (_STOSID(S2->getText(), S2-
>>getLine()));
> >>
> {
> FC:Class "=" classDefinition[C] "," << {CIfrClass CObj;SET_LINE_INFO
>(CObj, FC); CObj.SetClass(C);} >>
>@@ -1004,16 +998,10 @@ vfrStatementVarStoreLinear :
> | U64:"UINT64" "," << TypeName = U64->getText(); LineNum
>= U64->getLine(); >>
> | D:"EFI_HII_DATE" "," << TypeName = D->getText(); LineNum
>= D->getLine(); >>
> | T:"EFI_HII_TIME" "," << TypeName = T->getText(); LineNum
>= T->getLine(); >>
> | R:"EFI_HII_REF" "," << TypeName = R->getText(); LineNum =
>R->getLine(); >>
> )
>- { Key "=" FID:Number "," << // Key is used to assign Varid in
>Framework VFR but no use in UEFI2.1 VFR
>- if (mCompatibleMode) {
>- VarStoreId = _STOU16(FID->getText(), FID-
>>getLine());
>- }
>- >>
>- }
> {
> VarId "=" ID:Number "," <<
> _PCATCH(
> (INTN)(VarStoreId = _STOU16(ID->getText(), ID-
>>getLine())) != 0,
> (INTN)TRUE,
>@@ -1023,15 +1011,12 @@ vfrStatementVarStoreLinear :
> >>
> }
> Name "=" SN:StringIdentifier ","
> Uuid "=" guidDefinition[Guid]
> <<
>- if (mCompatibleMode) {
>- StoreName = TypeName;
>- } else {
>- StoreName = SN->getText();
>- }
>+
>+ StoreName = SN->getText();
>
>_PCATCH(gCVfrDataStorage.DeclareBufferVarStore (
> StoreName,
> &Guid,
> &gCVfrVarDataTypeDB,
> TypeName,
>@@ -1241,13 +1226,10 @@ vfrStatementDisableIfFormSet :
> ;
>
> vfrStatementSuppressIfFormSet :
> << CIfrSuppressIf SIObj;>>
> L:SuppressIf <<
>- if (mCompatibleMode) {
>- _PCATCH (VFR_RETURN_UNSUPPORTED, L);
>- }
> SIObj.SetLineNo(L->getLine());
> >>
> { FLAGS "=" flagsField ( "\|" flagsField )* "," }
> vfrStatementExpression[0] ";"
> vfrFormSetList
>@@ -1338,38 +1320,30 @@ vfrQuestionHeader[CIfrQuestionHeader & QHObj,
>EFI_QUESION_TYPE QType = QUESTION_
> questionheaderFlagsField[UINT8 & Flags] :
> ReadOnlyFlag << $Flags |= 0x01; >>
> | InteractiveFlag << $Flags |= 0x04; >>
> | ResetRequiredFlag << $Flags |= 0x10; >>
> | ReconnectRequiredFlag << $Flags |= 0x40; >>
>- | O:OptionOnlyFlag <<
>- if (mCompatibleMode) {
>- $Flags |= 0x80;
>- } else {
>- gCVfrErrorHandle.HandleWarning (
>-
>VFR_WARNING_OBSOLETED_FRAMEWORK_OPCODE,
>- O->getLine(),
>- O->getText()
>- );
>- }
>+ | O:OptionOnlyFlag <<
>+ gCVfrErrorHandle.HandleWarning (
>+
>VFR_WARNING_OBSOLETED_FRAMEWORK_OPCODE,
>+ O->getLine(),
>+ O->getText()
>+ );
> >>
>- | N:NVAccessFlag <<
>- if (!mCompatibleMode) {
>- gCVfrErrorHandle.HandleWarning (
>-
>VFR_WARNING_OBSOLETED_FRAMEWORK_OPCODE,
>- N->getLine(),
>- N->getText()
>- );
>- }
>+ | N:NVAccessFlag <<
>+ gCVfrErrorHandle.HandleWarning (
>+
>VFR_WARNING_OBSOLETED_FRAMEWORK_OPCODE,
>+ N->getLine(),
>+ N->getText()
>+ );
> >>
>- | L:LateCheckFlag <<
>- if (!mCompatibleMode) {
>- gCVfrErrorHandle.HandleWarning (
>-
>VFR_WARNING_OBSOLETED_FRAMEWORK_OPCODE,
>- L->getLine(),
>- L->getText()
>- );
>- }
>+ | L:LateCheckFlag <<
>+ gCVfrErrorHandle.HandleWarning (
>+
>VFR_WARNING_OBSOLETED_FRAMEWORK_OPCODE,
>+ L->getLine(),
>+ L->getText()
>+ );
> >>
> ;
>
> vfrStorageVarId[EFI_VARSTORE_INFO & Info, CHAR8 *&QuestVarIdStr,
>BOOLEAN CheckFlag = TRUE] :
> <<
>@@ -1392,22 +1366,10 @@ vfrStorageVarId[EFI_VARSTORE_INFO & Info,
>CHAR8 *&QuestVarIdStr, BOOLEAN CheckFl
> _STRCAT(&VarIdStr, I1->getText());
> _STRCAT(&VarIdStr, "]");
> >>
> <<
> VfrReturnCode =
>gCVfrDataStorage.GetVarStoreId(SName, &$Info.mVarStoreId);
>- if (mCompatibleMode && VfrReturnCode ==
>VFR_RETURN_UNDEFINED) {
>- gCVfrDataStorage.DeclareBufferVarStore (
>- SName,
>- &mFormsetGuid,
>- &gCVfrVarDataTypeDB,
>- SName,
>- EFI_VARSTORE_ID_INVALID,
>- FALSE,
>- FALSE
>- );
>- VfrReturnCode =
>gCVfrDataStorage.GetVarStoreId(SName, &$Info.mVarStoreId,
>&mFormsetGuid);
>- }
> if (CheckFlag || VfrReturnCode ==
>VFR_RETURN_SUCCESS) {
> _PCATCH(VfrReturnCode, SN1);
>
>_PCATCH(gCVfrDataStorage.GetNameVarStoreInfo (&$Info, Idx), SN1);
> }
>
>@@ -1417,21 +1379,10 @@ vfrStorageVarId[EFI_VARSTORE_INFO & Info,
>CHAR8 *&QuestVarIdStr, BOOLEAN CheckFl
> |
> (
> SN2:StringIdentifier << SName = SN2->getText();
>_STRCAT(&VarIdStr, SName); >>
> <<
> VfrReturnCode =
>gCVfrDataStorage.GetVarStoreId(SName, &$Info.mVarStoreId);
>- if (mCompatibleMode && VfrReturnCode ==
>VFR_RETURN_UNDEFINED) {
>- gCVfrDataStorage.DeclareBufferVarStore (
>- SName,
>- &mFormsetGuid,
>- &gCVfrVarDataTypeDB,
>- SName,
>- EFI_VARSTORE_ID_INVALID,
>- FALSE
>- );
>- VfrReturnCode =
>gCVfrDataStorage.GetVarStoreId(SName, &$Info.mVarStoreId,
>&mFormsetGuid);
>- }
> if (CheckFlag || VfrReturnCode ==
>VFR_RETURN_SUCCESS) {
> _PCATCH(VfrReturnCode, SN2);
> VarStoreType =
>gCVfrDataStorage.GetVarStoreType ($Info.mVarStoreId);
> if (VarStoreType == EFI_VFR_VARSTORE_BUFFER
>|| VarStoreType == EFI_VFR_VARSTORE_BUFFER_BITS) {
>
>_PCATCH(gCVfrDataStorage.GetBufferVarStoreDataTypeName(Info.mVarSto
>reId, &TName), SN2);
>@@ -1449,11 +1400,10 @@ vfrStorageVarId[EFI_VARSTORE_INFO & Info,
>CHAR8 *&QuestVarIdStr, BOOLEAN CheckFl
> >>
> SF:StringIdentifier << _STRCAT(&VarIdStr, SF->getText());
>_STRCAT(&VarStr, SF->getText()); >>
> {
> OpenBracket I2:Number CloseBracket <<
> Idx = _STOU32(I2->getText(), I2->getLine());
>- if (mCompatibleMode) Idx --;
> if (Idx > 0) {
> //
> // Idx == 0, [0] can be ignored.
> // Array[0] is same to Array for unify the varid
>name to cover [0]
> //
>@@ -1531,11 +1481,10 @@ vfrQuestionDataFieldName [EFI_QUESTION_ID
>&QId, UINT32 &Mask, CHAR8 *&VarIdStr,
> >>
> SF:StringIdentifier << _STRCAT (&VarIdStr, SF->getText()); >>
> {
> OpenBracket I2:Number CloseBracket <<
> Idx = _STOU32(I2->getText(), I2->getLine());
>- if (mCompatibleMode) Idx --;
> if (Idx > 0) {
> //
> // Idx == 0, [0] can be ignored.
> // Array[0] is same to Array
> //
>@@ -1739,25 +1688,10 @@ vfrFormDefinition :
> vfrStatementExtension |
> vfrStatementModal |
> vfrStatementRefreshEvent ";"
> )*
> E:EndForm <<
>- if (mCompatibleMode) {
>- //
>- // Add Label for Framework Vfr
>- //
>- CIfrLabel LObj1;
>- LObj1.SetLineNo(E->getLine());
>- LObj1.SetNumber (0xffff); //add end label for
>UEFI, label number hardcode 0xffff
>- CIfrLabel LObj2;
>- LObj2.SetLineNo(E->getLine());
>- LObj2.SetNumber (0x0); //add dummy label for
>UEFI, label number hardcode 0x0
>- CIfrLabel LObj3;
>- LObj3.SetLineNo(E->getLine());
>- LObj3.SetNumber (0xffff); //add end label for
>UEFI, label number hardcode 0xffff
>- }
>-
> {CIfrEnd EObj; EObj.SetLineNo (E->getLine());
>mLastFormEndAddr = EObj.GetObjBinAddr<CHAR8>(); gAdjustOpcodeOffset
>= EObj.GetObjBinOffset ();}
> >>
> ";"
> ;
>
>@@ -1999,17 +1933,15 @@ vfrStatementConditionalNew :
> vfrStatementGrayOutIfStatNew |
> vfrStatementInconsistentIfStat //to be compatible for framework
> ;
>
> vfrStatementSuppressIfStat :
>- <<mCompatibleMode>>? vfrStatementSuppressIfStatOld
>- | vfrStatementSuppressIfStatNew
>+ vfrStatementSuppressIfStatNew
> ;
>
> vfrStatementGrayOutIfStat :
>- <<mCompatibleMode>>? vfrStatementGrayOutIfStatOld
>- | vfrStatementGrayOutIfStatNew
>+ vfrStatementGrayOutIfStatNew
> ;
>
> vfrStatementInvalid :
> (
> vfrStatementInvalidHidden |
>@@ -2024,27 +1956,23 @@ flagsField :
> | InteractiveFlag
> | ManufacturingFlag
> | DefaultFlag
> | ResetRequiredFlag
> | ReconnectRequiredFlag
>- | N:NVAccessFlag <<
>- if (!mCompatibleMode) {
>- gCVfrErrorHandle.HandleWarning (
>-
>VFR_WARNING_OBSOLETED_FRAMEWORK_OPCODE,
>- N->getLine(),
>- N->getText()
>- );
>- }
>+ | N:NVAccessFlag <<
>+ gCVfrErrorHandle.HandleWarning (
>+
>VFR_WARNING_OBSOLETED_FRAMEWORK_OPCODE,
>+ N->getLine(),
>+ N->getText()
>+ );
> >>
>- | L:LateCheckFlag <<
>- if (!mCompatibleMode) {
>- gCVfrErrorHandle.HandleWarning (
>-
>VFR_WARNING_OBSOLETED_FRAMEWORK_OPCODE,
>- L->getLine(),
>- L->getText()
>- );
>- }
>+ | L:LateCheckFlag <<
>+ gCVfrErrorHandle.HandleWarning (
>+
>VFR_WARNING_OBSOLETED_FRAMEWORK_OPCODE,
>+ L->getLine(),
>+ L->getText()
>+ );
> >>
> ;
>
> vfrStatementValue :
> << CIfrValue VObj; >>
>@@ -2455,38 +2383,17 @@ vfrCheckBoxFlags [CIfrCheckBox & CBObj, UINT32
>LineNum] :
> << _PCATCH(CBObj.SetFlags (HFlags, LFlags),
>LineNum); >>
> ;
>
> checkboxFlagsField[UINT8 & LFlags, UINT8 & HFlags] :
> N:Number <<
>- if (mCompatibleMode) {
>- //
>- // set question flag
>- //
>- $LFlags |= _STOU8(N->getText(), N->getLine());
>- } else {
>- _PCATCH(_STOU8(N->getText(), N->getLine())
>== 0 ? VFR_RETURN_SUCCESS : VFR_RETURN_UNSUPPORTED, N->getLine());
>- }
>+ _PCATCH(_STOU8(N->getText(), N->getLine())
>== 0 ? VFR_RETURN_SUCCESS : VFR_RETURN_UNSUPPORTED, N->getLine());
> >>
> | D:"DEFAULT" <<
>- if (mCompatibleMode) {
>- //
>- // set question Default flag
>- //
>- $LFlags |= 0x01;
>- } else {
>- _PCATCH (VFR_RETURN_UNSUPPORTED, D);
>- }
>+ _PCATCH (VFR_RETURN_UNSUPPORTED, D);
> >>
> | M:"MANUFACTURING" <<
>- if (mCompatibleMode) {
>- //
>- // set question MFG flag
>- //
>- $LFlags |= 0x02;
>- } else {
>- _PCATCH (VFR_RETURN_UNSUPPORTED, M);
>- }
>+ _PCATCH (VFR_RETURN_UNSUPPORTED, M);
> >>
> | "CHECKBOX_DEFAULT" << $LFlags |= 0x01; >>
> | "CHECKBOX_DEFAULT_MFG" << $LFlags |= 0x02; >>
> | questionheaderFlagsField[HFlags]
> ;
>@@ -3502,13 +3409,11 @@ vfrStatementDisableIfStat :
> ;
>
> vfrStatementInconsistentIfStat :
> << CIfrInconsistentIf IIObj; >>
> L:InconsistentIf <<
>- if (!mCompatibleMode) {
>- _PCATCH (VFR_RETURN_UNSUPPORTED, L);
>- }
>+ _PCATCH (VFR_RETURN_UNSUPPORTED, L);
> IIObj.SetLineNo(L->getLine());
> >>
> Prompt "=" "STRING_TOKEN" "\(" S:Number "\)" "," << IIObj.SetError
>(_STOSID(S->getText(), S->getLine())); >>
> { FLAGS "=" flagsField ( "\|" flagsField )* "," }
> vfrStatementExpression[0]
>@@ -3553,44 +3458,10 @@ vfrStatementGrayOutIfStatNew :
> ";"
> ( vfrStatementStatList )*
> E: EndIf ";" << CRT_END_OP (E); >>
> ;
>
>-vfrStatementSuppressIfStatOld :
>- <<
>- CIfrSuppressIf SIObj;
>- BOOLEAN GrayOutExist = FALSE;
>- >>
>- L:SuppressIf << SIObj.SetLineNo(L->getLine()); >>
>- { FLAGS "=" flagsField ( "\|" flagsField )* "," }
>- vfrStatementExpression[0]
>- ";"
>- {
>- vfrStatementsuppressIfGrayOutIf
>- << GrayOutExist = TRUE; >>
>- }
>- ( vfrStatementStatListOld )*
>- E: EndIf ";" << if (GrayOutExist) CRT_END_OP (E);
>CRT_END_OP (E);>>
>- ;
>-
>-vfrStatementGrayOutIfStatOld :
>- <<
>- CIfrGrayOutIf GOIObj;
>- BOOLEAN SuppressExist = FALSE;
>- >>
>- L:GrayOutIf << GOIObj.SetLineNo(L->getLine()); >>
>- { FLAGS "=" flagsField ( "\|" flagsField )* "," }
>- vfrStatementExpression[0]
>- ";"
>- {
>- vfrStatementgrayoutIfSuppressIf
>- << SuppressExist = TRUE; >>
>- }
>- ( vfrStatementStatListOld )*
>- E: EndIf ";" << if (SuppressExist) CRT_END_OP (E);
>CRT_END_OP (E); >>
>- ;
>-
> vfrImageTag :
> << CIfrImage IObj; >>
> L:Image "=" "IMAGE_TOKEN" "\(" S1:Number "\)" << IObj.SetImageId
>(_STOSID(S1->getText(), S1->getLine())); IObj.SetLineNo(L->getLine()); >>
> ;
>
>@@ -3859,13 +3730,11 @@ vfrStatementOneOfOption :
> }
> }
> >>
> {
> "," Key "=" KN:Number <<
>- if (!mCompatibleMode) {
>- _PCATCH (VFR_RETURN_UNSUPPORTED, KN);
>- }
>+ _PCATCH (VFR_RETURN_UNSUPPORTED, KN);
> //
> // Guid Option Key
> //
> CIfrOptionKey IfrOptionKey (
> gCurrentQuestion->QUESTION_ID(),
>@@ -3898,46 +3767,29 @@ oneofoptionFlagsField [UINT8 & HFlags, UINT8 &
>LFlags] :
> | InteractiveFlag << $HFlags |= 0x04; >>
> | ResetRequiredFlag << $HFlags |= 0x10; >>
> | ReconnectRequiredFlag << $HFlags |= 0x40; >>
> | ManufacturingFlag << $LFlags |= 0x20; >>
> | DefaultFlag << $LFlags |= 0x10; >>
>- | A:NVAccessFlag <<
>- if (mCompatibleMode) {
>- $HFlags |= 0x08;
>- } else {
>- gCVfrErrorHandle.HandleWarning (
>-
>VFR_WARNING_OBSOLETED_FRAMEWORK_OPCODE,
>- A->getLine(),
>- A->getText()
>- );
>- }
>+ | A:NVAccessFlag <<
>+ gCVfrErrorHandle.HandleWarning (
>+
>VFR_WARNING_OBSOLETED_FRAMEWORK_OPCODE,
>+ A->getLine(),
>+ A->getText()
>+ );
> >>
>- | L:LateCheckFlag <<
>- if (mCompatibleMode) {
>- $HFlags |= 0x20;
>- } else {
>- gCVfrErrorHandle.HandleWarning (
>-
>VFR_WARNING_OBSOLETED_FRAMEWORK_OPCODE,
>- L->getLine(),
>- L->getText()
>- );
>- }
>+ | L:LateCheckFlag <<
>+ gCVfrErrorHandle.HandleWarning (
>+
>VFR_WARNING_OBSOLETED_FRAMEWORK_OPCODE,
>+ L->getLine(),
>+ L->getText()
>+ );
> >>
> ;
>
> vfrStatementLabel :
> L:Label
> N:Number <<
>- if (mCompatibleMode) {
>- //
>- // Add end Label for Framework Vfr
>- //
>- CIfrLabel LObj1;
>- LObj1.SetLineNo(L->getLine());
>- LObj1.SetNumber (0xffff); //add end label for
>UEFI, label number hardcode 0xffff
>- }
>-
> {
> CIfrLabel LObj2;
> LObj2.SetLineNo(L->getLine());
> LObj2.SetNumber (_STOU16(N->getText(), N-
>>getLine()));
> }
>@@ -3970,13 +3822,11 @@ vfrStatementBanner :
> //
> // keep some syntax for compatibility but not generate any IFR object
> //
> vfrStatementInvalidHidden :
> L:Hidden <<
>- if (!mCompatibleMode) {
>- _PCATCH (VFR_RETURN_UNSUPPORTED, L);
>- }
>+ _PCATCH (VFR_RETURN_UNSUPPORTED, L);
> >>
> Value "=" Number ","
> Key "=" Number ";"
> ;
>
>@@ -3989,13 +3839,11 @@ vfrStatementInvalidInconsistentIf :
> ";"
> ;
>
> vfrStatementInvalidInventory :
> L:Inventory <<
>- if (!mCompatibleMode) {
>- _PCATCH (VFR_RETURN_UNSUPPORTED, L);
>- }
>+ _PCATCH (VFR_RETURN_UNSUPPORTED, L);
> >>
> Help "=" "STRING_TOKEN" "\(" Number "\)" ","
> Text "=" "STRING_TOKEN" "\(" Number "\)" ","
> {
> Text "=" "STRING_TOKEN" "\(" Number "\)"
>@@ -4004,19 +3852,15 @@ vfrStatementInvalidInventory :
> ;
>
> vfrStatementInvalidSaveRestoreDefaults :
> (
> L:Save <<
>- if (!mCompatibleMode) {
>- _PCATCH (VFR_RETURN_UNSUPPORTED, L);
>- }
>+ _PCATCH (VFR_RETURN_UNSUPPORTED, L);
> >>
> |
> K:Restore <<
>- if (!mCompatibleMode) {
>- _PCATCH (VFR_RETURN_UNSUPPORTED, K);
>- }
>+ _PCATCH (VFR_RETURN_UNSUPPORTED, K);
> >>
> )
> Defaults ","
> FormId "=" Number ","
> Prompt "=" "STRING_TOKEN" "\(" Number "\)" ","
>@@ -4317,13 +4161,11 @@ vareqvalExp [UINT32 & RootLevel, UINT32 &
>ExpOpCount] :
> UINT32 LineNo;
> EFI_VFR_RETURN_CODE VfrReturnCode = VFR_RETURN_SUCCESS;
> EFI_VARSTORE_ID VarStoreId = EFI_VARSTORE_ID_INVALID;
> >>
> L:VarEqVal <<
>- if (!mCompatibleMode) {
> _PCATCH (VFR_RETURN_UNSUPPORTED, L);
>- }
> >>
> VK:Var
> OpenParen
> VN:Number <<
> VarIdStr = NULL; _STRCAT(&VarIdStr, VK-
>>getText()); _STRCAT(&VarIdStr, VN->getText());
>@@ -4996,14 +4838,10 @@ private:
> // Whether the question already has default value.
> //
> UINT16 mUsedDefaultArray[EFI_IFR_MAX_DEFAULT_TYPE];
> UINT16 mUsedDefaultCount;
>
>-//
>-// For framework vfr compatibility
>-//
>- BOOLEAN mCompatibleMode;
> EFI_GUID mFormsetGuid;
>
> VOID _CRT_OP (IN BOOLEAN);
>
> VOID _SAVE_CURRQEST_VARINFO (IN EFI_VARSTORE_INFO &);
>--
>2.18.0.windows.1
>
>
>
prev parent reply other threads:[~2019-05-10 7:36 UTC|newest] Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-05-10 5:44 [patch] BaseTools/VfrCompile: clean Framework Vfr support Dandan Bi 2019-05-10 7:36 ` Liming Gao [this message]
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-list from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=4A89E2EF3DFEDB4C8BFDE51014F606A14E446702@SHSMSX104.ccr.corp.intel.com \ --to=devel@edk2.groups.io \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox