From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.115, mailfrom: liming.gao@intel.com) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by groups.io with SMTP; Mon, 06 May 2019 23:00:23 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 May 2019 23:00:23 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,440,1549958400"; d="scan'208";a="142132881" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by orsmga006.jf.intel.com with ESMTP; 06 May 2019 23:00:22 -0700 Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.408.0; Mon, 6 May 2019 23:00:22 -0700 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.33]) by shsmsx102.ccr.corp.intel.com ([169.254.2.249]) with mapi id 14.03.0415.000; Tue, 7 May 2019 14:00:20 +0800 From: "Liming Gao" To: "devel@edk2.groups.io" , "Bi, Dandan" CC: "Feng, Bob C" Subject: Re: [edk2-devel] [patch 01/11] BaseTools/VfrCompile: Remove framework VFR support Thread-Topic: [edk2-devel] [patch 01/11] BaseTools/VfrCompile: Remove framework VFR support Thread-Index: AQHU/jGVphd591GTO0OgkQhI25yNl6ZfN9zw Date: Tue, 7 May 2019 06:00:19 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E443E93@SHSMSX104.ccr.corp.intel.com> References: <20190429021607.11304-1-dandan.bi@intel.com> <20190429021607.11304-2-dandan.bi@intel.com> In-Reply-To: <20190429021607.11304-2-dandan.bi@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: liming.gao@intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Liming Gao >-----Original Message----- >From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of >Dandan Bi >Sent: Monday, April 29, 2019 10:16 AM >To: devel@edk2.groups.io >Cc: Feng, Bob C ; Gao, Liming >Subject: [edk2-devel] [patch 01/11] BaseTools/VfrCompile: Remove >framework VFR support > >REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D1464 > >Currently there is no usage of framework VFR, >remove the support from VfrCompile. > >Cc: Bob Feng >Cc: Liming Gao >Signed-off-by: Dandan Bi >--- > BaseTools/Source/C/VfrCompile/VfrCompiler.cpp | 35 +----- > BaseTools/Source/C/VfrCompile/VfrCompiler.h | 3 +- > BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp | 23 +--- > BaseTools/Source/C/VfrCompile/VfrFormPkg.h | 3 +- > BaseTools/Source/C/VfrCompile/VfrSyntax.g | 103 +----------------- > .../Source/C/VfrCompile/VfrUtilityLib.cpp | 52 +-------- > BaseTools/Source/C/VfrCompile/VfrUtilityLib.h | 7 +- > .../VfrCompiler_Utility_Man_Page.rtf | 4 - > 8 files changed, 15 insertions(+), 215 deletions(-) > >diff --git a/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp >b/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp >index c4d4d261ad..5f4d262d85 100644 >--- a/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp >+++ b/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp >@@ -1,10 +1,10 @@ > /** @file > > VfrCompiler main class and main function. > >-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.
>+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.
> SPDX-License-Identifier: BSD-2-Clause-Patent > > **/ > > #include "stdio.h" >@@ -72,11 +72,10 @@ CVfrCompiler::OptionInitialization ( > mOptions.PreprocessorOutputFileName =3D NULL; > mOptions.VfrBaseFileName =3D NULL; > mOptions.IncludePaths =3D NULL; > mOptions.SkipCPreprocessor =3D TRUE; > mOptions.CPreprocessorOptions =3D NULL; >- mOptions.CompatibleMode =3D FALSE; > mOptions.HasOverrideClassGuid =3D FALSE; > mOptions.WarningAsError =3D FALSE; > mOptions.AutoDefault =3D FALSE; > mOptions.CheckDefault =3D FALSE; > memset (&mOptions.OverrideClassGuid, 0, sizeof (EFI_GUID)); >@@ -140,12 +139,10 @@ CVfrCompiler::OptionInitialization ( > DebugError (NULL, 0, 1001, "Missing option", "-od - missing C- >preprocessor argument"); > goto Fail; > } > > AppendCPreprocessorOptions (Argv[Index]); >- } else if (stricmp(Argv[Index], "-c") =3D=3D 0 || stricmp(Argv[Index= ], "-- >compatible-framework") =3D=3D 0) { >- mOptions.CompatibleMode =3D TRUE; > } else if (stricmp(Argv[Index], "-s") =3D=3D 0|| stricmp(Argv[Index]= , "--string- >db") =3D=3D 0) { > Index++; > if ((Index >=3D Argc) || (Argv[Index][0] =3D=3D '-')) { > DebugError (NULL, 0, 1001, "Missing option", "-s missing input s= tring file >name"); > goto Fail; >@@ -559,12 +556,10 @@ CVfrCompiler::Usage ( > " default is current directory", > " -b, --create-ifr-package", > " create an IFR HII pack file", > " -n, --no-pre-processing", > " do not preprocessing input file", >- " -c, --compatible-framework", >- " compatible framework vfr file", > " -s, --string-db", > " input uni string package file", > " -g, --guid", > " override class guid input", > " format is xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", >@@ -683,11 +678,10 @@ CVfrCompiler::Compile ( > if ((pInFile =3D fopen (LongFilePath (InFileName), "r")) =3D=3D NULL) = { > DebugError (NULL, 0, 0001, "Error opening the input file", "%s", InF= ileName); > goto Fail; > } > >- InputInfo.CompatibleMode =3D mOptions.CompatibleMode; > if (mOptions.HasOverrideClassGuid) { > InputInfo.OverrideClassGuid =3D &mOptions.OverrideClassGuid; > } else { > InputInfo.OverrideClassGuid =3D NULL; > } >@@ -773,31 +767,10 @@ CVfrCompiler::AdjustBin ( > //ok > } else { > DebugError (NULL, 0, 0001, "Error parsing vfr file", " %s.Buffer not >allocated.", mOptions.VfrFileName); > } > >- // >- // For UEFI mode, not do OpCode Adjust >- // >- if (mOptions.CompatibleMode) { >- // >- // Adjust Opcode to be compatible with framework vfr >- // >- Status =3D gCIfrRecordInfoDB.IfrRecordAdjust (); >- if (Status !=3D VFR_RETURN_SUCCESS) { >- // >- // Record List Adjust Failed >- // >- SET_RUN_STATUS (STATUS_FAILED); >- return; >- } >- // >- // Re get the IfrRecord Buffer. >- // >- gCIfrRecordInfoDB.IfrRecordOutput (gRBuffer); >- } >- > return; > } > > VOID > CVfrCompiler::GenBinary ( >@@ -851,24 +824,20 @@ CVfrCompiler::GenCFile ( > > if (!IS_RUN_STATUS(STATUS_GENBINARY)) { > goto Fail; > } > >- if (!mOptions.CreateIfrPkgFile || mOptions.CompatibleMode) { >+ if (!mOptions.CreateIfrPkgFile) { > if ((pFile =3D fopen (LongFilePath (mOptions.COutputFileName), "w"))= =3D=3D >NULL) { > DebugError (NULL, 0, 0001, "Error opening output C file", "%s", >mOptions.COutputFileName); > goto Fail; > } > > for (Index =3D 0; gSourceFileHeader[Index] !=3D NULL; Index++) { > fprintf (pFile, "%s\n", gSourceFileHeader[Index]); > } > >- if (mOptions.CompatibleMode) { >- gCVfrBufferConfig.OutputCFile (pFile, mOptions.VfrBaseFileName); >- } >- > if (gCFormPkg.GenCFile (mOptions.VfrBaseFileName, pFile, &gRBuffer) = !=3D >VFR_RETURN_SUCCESS) { > fclose (pFile); > goto Fail; > } > fclose (pFile); >diff --git a/BaseTools/Source/C/VfrCompile/VfrCompiler.h >b/BaseTools/Source/C/VfrCompile/VfrCompiler.h >index b8cccca4b0..b6e207d2ce 100644 >--- a/BaseTools/Source/C/VfrCompile/VfrCompiler.h >+++ b/BaseTools/Source/C/VfrCompile/VfrCompiler.h >@@ -1,10 +1,10 @@ > /** @file > > VfrCompiler internal definitions. > >-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.
>+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.
> SPDX-License-Identifier: BSD-2-Clause-Patent > > **/ > > #ifndef _VFRCOMPILER_H_ >@@ -45,11 +45,10 @@ typedef struct { > CHAR8 *PreprocessorOutputFileName; > CHAR8 *VfrBaseFileName; // name of input VFR file with no path or >extension > CHAR8 *IncludePaths; > bool SkipCPreprocessor; > CHAR8 *CPreprocessorOptions; >- BOOLEAN CompatibleMode; > BOOLEAN HasOverrideClassGuid; > EFI_GUID OverrideClassGuid; > BOOLEAN WarningAsError; > BOOLEAN AutoDefault; > BOOLEAN CheckDefault; >diff --git a/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp >b/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp >index 5948dc0883..36d3baaf10 100644 >--- a/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp >+++ b/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp >@@ -1,10 +1,10 @@ > /** @file > > The definition of CFormPkg's member function > >-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.
>+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.
> SPDX-License-Identifier: BSD-2-Clause-Patent > > **/ > > #include "stdio.h" >@@ -442,25 +442,14 @@ CFormPkg::GenCFile ( > > if ((Ret =3D BuildPkgHdr(&PkgHdr)) !=3D VFR_RETURN_SUCCESS) { > return Ret; > } > >- // >- // For framework vfr file, the extension framework header will be adde= d. >- // >- if (VfrCompatibleMode) { >- fprintf (pFile, " // FRAMEWORK PACKAGE HEADER Length\n"); >- PkgLength =3D PkgHdr->Length + sizeof (UINT32) + 2; >- _WRITE_PKG_LINE(pFile, BYTES_PRE_LINE, " ", (CHAR8 *)&PkgLength, >sizeof (UINT32)); >- fprintf (pFile, "\n\n // FRAMEWORK PACKAGE HEADER Type\n"); >- PkgLength =3D 3; >- _WRITE_PKG_LINE(pFile, BYTES_PRE_LINE, " ", (CHAR8 *)&PkgLength, >sizeof (UINT16)); >- } else { >- fprintf (pFile, " // ARRAY LENGTH\n"); >- PkgLength =3D PkgHdr->Length + sizeof (UINT32); >- _WRITE_PKG_LINE(pFile, BYTES_PRE_LINE, " ", (CHAR8 *)&PkgLength, >sizeof (UINT32)); >- } >+ >+ fprintf (pFile, " // ARRAY LENGTH\n"); >+ PkgLength =3D PkgHdr->Length + sizeof (UINT32); >+ _WRITE_PKG_LINE(pFile, BYTES_PRE_LINE, " ", (CHAR8 *)&PkgLength, >sizeof (UINT32)); > > fprintf (pFile, "\n\n // PACKAGE HEADER\n"); > _WRITE_PKG_LINE(pFile, BYTES_PRE_LINE, " ", (CHAR8 *)PkgHdr, sizeof >(EFI_HII_PACKAGE_HEADER)); > PkgLength =3D sizeof (EFI_HII_PACKAGE_HEADER); > >@@ -966,11 +955,11 @@ CFormPkg::DeclarePendingQuestion ( > > // > // For undefined Efi VarStore type question > // Append the extended guided opcode to contain VarName > // >- if (VarStoreType =3D=3D EFI_VFR_VARSTORE_EFI || VfrCompatibleMode)= { >+ if (VarStoreType =3D=3D EFI_VFR_VARSTORE_EFI) { > CIfrVarEqName CVNObj (QId, Info.mInfo.mVarName); > CVNObj.SetLineNo (LineNo); > } > > // >diff --git a/BaseTools/Source/C/VfrCompile/VfrFormPkg.h >b/BaseTools/Source/C/VfrCompile/VfrFormPkg.h >index 68df87ba88..1cea4f0e25 100644 >--- a/BaseTools/Source/C/VfrCompile/VfrFormPkg.h >+++ b/BaseTools/Source/C/VfrCompile/VfrFormPkg.h >@@ -1,10 +1,10 @@ > /** @file > > The definition of CFormPkg's member function > >-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.
>+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.
> SPDX-License-Identifier: BSD-2-Clause-Patent > > **/ > > #ifndef _EFIIFRCLASS_H_ >@@ -93,11 +93,10 @@ struct SBufferNode { > CHAR8 *mBufferFree; > struct SBufferNode *mNext; > }; > > typedef struct { >- BOOLEAN CompatibleMode; > EFI_GUID *OverrideClassGuid; > } INPUT_INFO_TO_SYNTAX; > > class CFormPkg { > private: >diff --git a/BaseTools/Source/C/VfrCompile/VfrSyntax.g >b/BaseTools/Source/C/VfrCompile/VfrSyntax.g >index 04fe030b61..24b30e3825 100644 >--- a/BaseTools/Source/C/VfrCompile/VfrSyntax.g >+++ b/BaseTools/Source/C/VfrCompile/VfrSyntax.g >@@ -1,9 +1,9 @@ > /*++ @file > Vfr Syntax > >-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.
>+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.
> SPDX-License-Identifier: BSD-2-Clause-Patent > > --*/ > > #header<< >@@ -47,11 +47,10 @@ VfrParserStart ( > IN FILE *File, > IN INPUT_INFO_TO_SYNTAX *InputInfo > ) > { > ParserBlackBox VfrParser(File)= ; >- VfrParser.parser()->SetCompatibleMode (InputInfo->CompatibleMode); > VfrParser.parser()->SetOverrideClassGuid (InputInfo->OverrideClassGuid= ); > return VfrParser.parser()->vfrProgram(); > } > >> > >@@ -673,17 +672,10 @@ vfrFormSetDefinition : > << > _DeclareStandardD= efaultStorage (GET_LINENO >(L)); > >> > vfrFormSetList > E:EndFormSet << >- if (mCompatibleMod= e) { >- // >- // declare all u= ndefined varstore and efivarstore >- // >- _DeclareDefaultF= rameworkVarStore >(GET_LINENO(E)); >- } >- > // > // Declare undefin= ed Question so that they can be >used in expression. > // > if (gCFormPkg.Have= PendingUnassigned()) { > mParserStatus += =3D >gCFormPkg.DeclarePendingQuestion ( >@@ -5047,23 +5039,18 @@ public: > > VOID _STRCAT (IN OUT CHAR8 **, IN CONST CHAR8 *); > > VOID _DeclareDefaultLinearVarStore (IN UINT32); > VOID _DeclareStandardDefaultStorage (IN UINT32); >- VOID _DeclareDefaultFrameworkVarStore (IN UINT32); > > VOID AssignQuestionKey (IN CIfrQuestionHeader &, IN >ANTLRTokenPtr); > > VOID ConvertIdExpr (IN UINT32 &, IN UINT32, IN >EFI_QUESTION_ID, IN CHAR8 *, IN UINT32); > VOID IdEqValDoSpecial (IN UINT32 &, IN UINT32, IN >EFI_QUESTION_ID, IN CHAR8 *, IN UINT32, IN UINT16, IN >EFI_COMPARE_TYPE); > 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 *); >-// >-// For framework vfr compatibility >-// >- VOID SetCompatibleMode (IN BOOLEAN); > >> > } > > << > VOID >@@ -5540,88 +5527,10 @@ EfiVfrParser::_STOR ( > Ref.DevicePath =3D _STOSID (DevicePath, LineNum); > > return Ref; > } > >-// >-// framework vfr to default declare varstore for each structure >-// >-VOID >-EfiVfrParser::_DeclareDefaultFrameworkVarStore ( >- IN UINT32 LineNo >- ) >-{ >- SVfrVarStorageNode *pNode; >- UINT32 TypeSize; >- BOOLEAN FirstNode; >- CONST CHAR8 VarName[] =3D "Setup"; >- >- FirstNode =3D TRUE; >- pNode =3D gCVfrDataStorage.GetBufferVarStoreList(); >- if (pNode =3D=3D NULL && gCVfrVarDataTypeDB.mFirstNewDataTypeName !=3D >NULL) { >- // >- // Create the default Buffer Var Store when no VarStore is defined. >- // its name should be "Setup" >- // >- gCVfrVarDataTypeDB.GetDataTypeSize >(gCVfrVarDataTypeDB.mFirstNewDataTypeName, &TypeSize); >- CIfrVarStore VSObj; >- VSObj.SetLineNo (LineNo); >- VSObj.SetVarStoreId (0x1); //the first and only one Buffer Var Store >- VSObj.SetSize ((UINT16) TypeSize); >- //VSObj.SetName (gCVfrVarDataTypeDB.mFirstNewDataTypeName); >- VSObj.SetName ((CHAR8 *) VarName); >- VSObj.SetGuid (&mFormsetGuid); >-#ifdef VFREXP_DEBUG >- printf ("Create the default VarStoreName is %s\n", >gCVfrVarDataTypeDB.mFirstNewDataTypeName); >-#endif >- } else { >- for (; pNode !=3D NULL; pNode =3D pNode->mNext) { >- // >- // create the default varstore opcode for not declared varstore >- // the first varstore name should be "Setup" >- // >- if (!pNode->mAssignedFlag) { >- CIfrVarStore VSObj; >- VSObj.SetLineNo (LineNo); >- VSObj.SetVarStoreId (pNode->mVarStoreId); >- VSObj.SetSize ((UINT16) pNode->mStorageInfo.mDataType- >>mTotalSize); >- if (FirstNode) { >- VSObj.SetName ((CHAR8 *) VarName); >- FirstNode =3D FALSE; >- } else { >- VSObj.SetName (pNode->mVarStoreName); >- } >- VSObj.SetGuid (&pNode->mGuid); >-#ifdef VFREXP_DEBUG >- printf ("undefined VarStoreName is %s and Id is 0x%x\n", pNode- >>mVarStoreName, pNode->mVarStoreId); >-#endif >- } >- } >- } >- >- pNode =3D gCVfrDataStorage.GetEfiVarStoreList(); >- for (; pNode !=3D NULL; pNode =3D pNode->mNext) { >- // >- // create the default efi varstore opcode for not exist varstore >- // >- if (!pNode->mAssignedFlag) { >- CIfrVarStoreEfi VSEObj; >- VSEObj.SetLineNo (LineNo); >- VSEObj.SetAttributes (0x00000002); //hardcode >EFI_VARIABLE_BOOTSERVICE_ACCESS attribute >- VSEObj.SetGuid (&pNode->mGuid); >- VSEObj.SetVarStoreId (pNode->mVarStoreId); >- // Generate old efi varstore storage structure for compatible with= old >"VarEqVal" opcode, >- // which is 3 bytes less than new structure define in UEFI Spec 2.= 3.1. >- VSEObj.SetBinaryLength (sizeof (EFI_IFR_VARSTORE_EFI) - 3); >-#ifdef VFREXP_DEBUG >- printf ("undefined Efi VarStoreName is %s and Id is 0x%x\n", pNode= - >>mVarStoreName, pNode->mVarStoreId); >-#endif >- } >- } >- >-} >- > VOID > EfiVfrParser::_DeclareDefaultLinearVarStore ( > IN UINT32 LineNo > ) > { >@@ -5917,20 +5826,10 @@ VOID > EfiVfrParser::SetOverrideClassGuid (IN EFI_GUID *OverrideClassGuid) > { > mOverrideClassGuid =3D OverrideClassGuid; > } > >-// >-// For framework vfr compatibility >-// >-VOID >-EfiVfrParser::SetCompatibleMode (IN BOOLEAN Mode) >-{ >- mCompatibleMode =3D Mode; >- mCVfrQuestionDB.SetCompatibleMode (Mode); >-} >- > VOID > EfiVfrParser::CheckDuplicateDefaultValue ( > IN EFI_DEFAULT_ID DefaultId, > IN ANTLRTokenPtr Tok > ) >diff --git a/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp >b/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp >index 9c9c4d4054..2b9b5dbb1c 100644 >--- a/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp >+++ b/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp >@@ -1,10 +1,10 @@ > /** @file > > Vfr common library functions. > >-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.
>+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.
> SPDX-License-Identifier: BSD-2-Clause-Patent > > **/ > > #include "stdio.h" >@@ -757,21 +757,10 @@ CVfrVarDataTypeDB::GetFieldOffset ( > { > if (Field =3D=3D NULL) { > return VFR_RETURN_FATAL_ERROR; > } > >- // >- // Framework Vfr file Array Index is from 1. >- // But Uefi Vfr file Array Index is from 0. >- // >- if (VfrCompatibleMode && ArrayIdx !=3D INVALID_ARRAY_INDEX) { >- if (ArrayIdx =3D=3D 0) { >- return VFR_RETURN_ERROR_ARRARY_NUM; >- } >- ArrayIdx =3D ArrayIdx - 1; >- } >- > if ((ArrayIdx !=3D INVALID_ARRAY_INDEX) && ((Field->mArrayNum =3D=3D 0= ) || >(Field->mArrayNum <=3D ArrayIdx))) { > return VFR_RETURN_ERROR_ARRARY_NUM; > } > > // >@@ -1681,21 +1670,11 @@ CVfrDataStorage::GetFreeVarStoreId ( > EFI_VFR_VARSTORE_TYPE VarType > ) > { > UINT32 Index, Mask, Offset; > >- // >- // Assign the different ID range for the different type VarStore to su= pport >Framework Vfr >- // > Index =3D 0; >- if ((!VfrCompatibleMode) || (VarType =3D=3D EFI_VFR_VARSTORE_BUFFER)) = { >- Index =3D 0; >- } else if (VarType =3D=3D EFI_VFR_VARSTORE_EFI) { >- Index =3D 1; >- } else if (VarType =3D=3D EFI_VFR_VARSTORE_NAME) { >- Index =3D 2; >- } > > for (; Index < EFI_FREE_VARSTORE_ID_BITMAP_SIZE; Index++) { > if (mFreeVarStoreIdBitMap[Index] !=3D 0xFFFFFFFF) { > break; > } >@@ -1913,17 +1892,10 @@ CVfrDataStorage::GetVarStoreByDataType ( > ) > { > SVfrVarStorageNode *pNode; > SVfrVarStorageNode *MatchNode; > >- // >- // Framework VFR uses Data type name as varstore name, so don't need >check again. >- // >- if (VfrCompatibleMode) { >- return VFR_RETURN_UNDEFINED; >- } >- > MatchNode =3D NULL; > for (pNode =3D mBufferVarStoreList; pNode !=3D NULL; pNode =3D pNode->= mNext) >{ > if (strcmp (pNode->mStorageInfo.mDataType->mTypeName, >DataTypeName) !=3D 0) { > continue; > } >@@ -2287,20 +2259,10 @@ CVfrDataStorage::GetNameVarStoreInfo ( > > if (mCurrVarStorageNode =3D=3D NULL) { > return VFR_RETURN_GET_NVVARSTORE_ERROR; > } > >- // >- // Framework Vfr file Index is from 1, but Uefi Vfr file Index is from= 0. >- // >- if (VfrCompatibleMode) { >- if (Index =3D=3D 0) { >- return VFR_RETURN_ERROR_ARRARY_NUM; >- } >- Index --; >- } >- > Info->mInfo.mVarName =3D mCurrVarStorageNode- >>mStorageInfo.mNameSpace.mNameTable[Index]; > > return VFR_RETURN_SUCCESS; > } > >@@ -2859,14 +2821,11 @@ CVfrQuestionDB::RegisterQuestion ( > } > > if (QuestionId =3D=3D EFI_QUESTION_ID_INVALID) { > QuestionId =3D GetFreeQuestionId (); > } else { >- // >- // For Framework Vfr, don't check question ID conflict. >- // >- if (!VfrCompatibleMode && ChekQuestionIdFree (QuestionId) =3D=3D FAL= SE) { >+ if (ChekQuestionIdFree (QuestionId) =3D=3D FALSE) { > delete pNode; > return VFR_RETURN_QUESTIONID_REDEFINED; > } > MarkQuestionIdUsed (QuestionId); > } >@@ -3366,14 +3325,11 @@ CVfrQuestionDB::UpdateQuestionId ( > if (QId =3D=3D NewQId) { > // don't update > return VFR_RETURN_SUCCESS; > } > >- // >- // For Framework Vfr, don't check question ID conflict. >- // >- if (!VfrCompatibleMode && ChekQuestionIdFree (NewQId) =3D=3D FALSE) { >+ if (ChekQuestionIdFree (NewQId) =3D=3D FALSE) { > return VFR_RETURN_REDEFINED; > } > > for (pNode =3D mQuestionList; pNode !=3D NULL; pNode =3D pNode->mNext)= { > if (pNode->mQuestionId =3D=3D QId) { >@@ -3955,12 +3911,10 @@ CVfrStringDB::GetUnicodeStringTextSize ( > } > > return StringSize; > } > >-BOOLEAN VfrCompatibleMode =3D FALSE; >- > CVfrVarDataTypeDB gCVfrVarDataTypeDB; > CVfrDefaultStore gCVfrDefaultStore; > CVfrDataStorage gCVfrDataStorage; > > >diff --git a/BaseTools/Source/C/VfrCompile/VfrUtilityLib.h >b/BaseTools/Source/C/VfrCompile/VfrUtilityLib.h >index e2b2917e99..57bb0c424d 100644 >--- a/BaseTools/Source/C/VfrCompile/VfrUtilityLib.h >+++ b/BaseTools/Source/C/VfrCompile/VfrUtilityLib.h >@@ -1,10 +1,10 @@ > /** @file > > Vfr common library functions. > >-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.
>+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.
> SPDX-License-Identifier: BSD-2-Clause-Patent > > **/ > > #ifndef _VFRUTILITYLIB_H_ >@@ -13,11 +13,10 @@ SPDX-License-Identifier: BSD-2-Clause-Patent > #include "string.h" > #include "Common/UefiBaseTypes.h" > #include "EfiVfr.h" > #include "VfrError.h" > >-extern BOOLEAN VfrCompatibleMode; > static EFI_GUID gEdkiiIfrBitVarGuid =3D EDKII_IFR_BIT_VARSTORE_GUID; > > #define MAX_BIT_WIDTH 32 > #define MAX_NAME_LEN 64 > #define MAX_STRING_LEN 0x100 >@@ -422,14 +421,10 @@ public: > EFI_VFR_RETURN_CODE FindQuestion (IN EFI_QUESTION_ID); > EFI_VFR_RETURN_CODE FindQuestion (IN CHAR8 *); > VOID PrintAllQuestion (IN VOID); > VOID ResetInit (IN VOID); > >- VOID SetCompatibleMode (IN BOOLEAN Mode) { >- VfrCompatibleMode =3D Mode; >- } >- > private: > CVfrQuestionDB (IN CONST CVfrQuestionDB&); // Prevent copy= - >construction > CVfrQuestionDB& operator=3D (IN CONST CVfrQuestionDB&); // Prevent >assignment > }; > >diff --git a/BaseTools/UserManuals/VfrCompiler_Utility_Man_Page.rtf >b/BaseTools/UserManuals/VfrCompiler_Utility_Man_Page.rtf >index fa0beebb9c..2b056f8f26 100644 >--- a/BaseTools/UserManuals/VfrCompiler_Utility_Man_Page.rtf >+++ b/BaseTools/UserManuals/VfrCompiler_Utility_Man_Page.rtf >@@ -145,14 +145,10 @@ The generated file will be placed into the output >directory sp\hich\af43\dbch\af > \par }\pard \ltrpar\ql >\li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs= 1 >\ab\af43\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid14166490 >\hich\af43\dbch\af31505\loch\f43 -n, --no-pre-processing > \par }\pard \ltrpar\ql >\li360\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 >{\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14166490 >\hich\af43\dbch\af31505\loch\f43 Do not preprocess}{\rtlch\fcs1 \af43\afs= 18 >\ltrch\fcs0 > \fs18\cf1\insrsid2570438 \hich\af43\dbch\af31505\loch\f43 t}{\rtlch\fcs= 1 >\af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid1204842 >\hich\af43\dbch\af31505\loch\f43 he}{\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 >\fs18\cf1\insrsid14166490 \hich\af43\dbch\af31505\loch\f43 > input vfr file. The input VFR file has been >pro\hich\af43\dbch\af31505\loch\f43 cessed. If this option is not specifi= ed, >the default behavior is same to set this option. > \par }{\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid83254 >\hich\af43\dbch\af31505\loch\f43 Selecting this option disables preproces= sing >of VFR files. }{\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid2570= 438 >-\par }\pard \ltrpar\ql >\li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs= 1 >\ab\af43\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid14166490 >\hich\af43\dbch\af31505\loch\f43 -c, --compatible-framework >-\par }\pard \ltrpar\ql >\li360\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 >{\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14166490 >\hich\af43\dbch\af31505\loch\f43 Recognize}{\rtlch\fcs1 \af43\afs18 >\ltrch\fcs0 \fs18\cf1\insrsid83254 >-\hich\af43\dbch\af31505\loch\f43 s}{\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 >\fs18\cf1\insrsid14166490 \hich\af43\dbch\af31505\loch\f43 the input VFR >file is the framework VFR syntax. If this option is >n\hich\af43\dbch\af31505\loch\f43 >-ot specified, the UEFI syntax is default }{\rtlch\fcs1 \af43\afs18 \ltrc= h\fcs0 >\fs18\cf1\insrsid83254 \hich\af43\dbch\af31505\loch\f43 the VFR }{\rtlch\= fcs1 >\af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14166490 >\hich\af43\dbch\af31505\loch\f43 syntax. > \par }\pard \ltrpar\ql >\li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs= 1 >\ab\af43\afs18 \ltrch\fcs0 \b\fs18\cf1\insrsid14166490 >\hich\af43\dbch\af31505\loch\f43 -h, --help > \par }\pard \ltrpar\ql >\fi360\li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 >{\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 \fs18\cf1\insrsid14166490 >\hich\af43\dbch\af31505\loch\f43 Print version and usage of this program = and >exit. > \par }\pard \ltrpar\ql >\li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid129= 319 >70 {\rtlch\fcs1 \ab\af43\afs18 \ltrch\fcs0 >\b\fs18\insrsid12931970\charrsid6448922 \hich\af43\dbch\af31505\loch\f43 = -s, >--string-db > \par }\pard \ltrpar\ql >\fi360\li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\parar= sid1 >2931970 {\rtlch\fcs1 \af43\afs18 \ltrch\fcs0 >\fs18\insrsid12931970\charrsid6448922 \hich\af43\dbch\af31505\loch\f43 >Input uni string package file. > \par }\pard \ltrpar\ql >\li0\ri0\sb200\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid129= 319 >70 {\rtlch\fcs1 \ab\af43\afs18 \ltrch\fcs0 >\b\fs18\insrsid12931970\charrsid6448922 \hich\af43\dbch\af31505\loch\f43 = -g, >--guid >-- >2.18.0.windows.1 > > >