From 1b72fd5121b5b31918be0a9a0868a39070d4c8d4 Mon Sep 17 00:00:00 2001 From: Dandan Bi Date: Tue, 16 Apr 2019 16:36:56 +0800 Subject: BaseTools/VfrCompile: Remove framework VFR support REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1464 Currently there is no usage of framework VFR, remove the support from VfrCompile. Cc: Bob Feng Cc: Liming Gao Signed-off-by: Dandan Bi Reviewed-by: Bob Feng Reviewed-by: Liming Gao --- 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 +----------------------- BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp | 52 +----------- BaseTools/Source/C/VfrCompile/VfrUtilityLib.h | 7 +- 7 files changed, 15 insertions(+), 211 deletions(-) (limited to 'BaseTools/Source/C') diff --git a/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp b/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp index c4d4d26..5f4d262 100644 --- a/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp +++ b/BaseTools/Source/C/VfrCompile/VfrCompiler.cpp @@ -2,7 +2,7 @@ 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 **/ @@ -74,7 +74,6 @@ CVfrCompiler::OptionInitialization ( mOptions.IncludePaths = NULL; mOptions.SkipCPreprocessor = TRUE; mOptions.CPreprocessorOptions = NULL; - mOptions.CompatibleMode = FALSE; mOptions.HasOverrideClassGuid = FALSE; mOptions.WarningAsError = FALSE; mOptions.AutoDefault = FALSE; @@ -142,8 +141,6 @@ CVfrCompiler::OptionInitialization ( } AppendCPreprocessorOptions (Argv[Index]); - } else if (stricmp(Argv[Index], "-c") == 0 || stricmp(Argv[Index], "--compatible-framework") == 0) { - mOptions.CompatibleMode = TRUE; } else if (stricmp(Argv[Index], "-s") == 0|| stricmp(Argv[Index], "--string-db") == 0) { Index++; if ((Index >= Argc) || (Argv[Index][0] == '-')) { @@ -561,8 +558,6 @@ CVfrCompiler::Usage ( " 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", @@ -685,7 +680,6 @@ CVfrCompiler::Compile ( goto Fail; } - InputInfo.CompatibleMode = mOptions.CompatibleMode; if (mOptions.HasOverrideClassGuid) { InputInfo.OverrideClassGuid = &mOptions.OverrideClassGuid; } else { @@ -775,27 +769,6 @@ CVfrCompiler::AdjustBin ( 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 = gCIfrRecordInfoDB.IfrRecordAdjust (); - if (Status != VFR_RETURN_SUCCESS) { - // - // Record List Adjust Failed - // - SET_RUN_STATUS (STATUS_FAILED); - return; - } - // - // Re get the IfrRecord Buffer. - // - gCIfrRecordInfoDB.IfrRecordOutput (gRBuffer); - } - return; } @@ -853,7 +826,7 @@ CVfrCompiler::GenCFile ( goto Fail; } - if (!mOptions.CreateIfrPkgFile || mOptions.CompatibleMode) { + if (!mOptions.CreateIfrPkgFile) { if ((pFile = fopen (LongFilePath (mOptions.COutputFileName), "w")) == NULL) { DebugError (NULL, 0, 0001, "Error opening output C file", "%s", mOptions.COutputFileName); goto Fail; @@ -863,10 +836,6 @@ CVfrCompiler::GenCFile ( fprintf (pFile, "%s\n", gSourceFileHeader[Index]); } - if (mOptions.CompatibleMode) { - gCVfrBufferConfig.OutputCFile (pFile, mOptions.VfrBaseFileName); - } - if (gCFormPkg.GenCFile (mOptions.VfrBaseFileName, pFile, &gRBuffer) != VFR_RETURN_SUCCESS) { fclose (pFile); goto Fail; diff --git a/BaseTools/Source/C/VfrCompile/VfrCompiler.h b/BaseTools/Source/C/VfrCompile/VfrCompiler.h index b8cccca..b6e207d 100644 --- a/BaseTools/Source/C/VfrCompile/VfrCompiler.h +++ b/BaseTools/Source/C/VfrCompile/VfrCompiler.h @@ -2,7 +2,7 @@ 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 **/ @@ -47,7 +47,6 @@ typedef struct { CHAR8 *IncludePaths; bool SkipCPreprocessor; CHAR8 *CPreprocessorOptions; - BOOLEAN CompatibleMode; BOOLEAN HasOverrideClassGuid; EFI_GUID OverrideClassGuid; BOOLEAN WarningAsError; diff --git a/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp b/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp index 5948dc0..36d3baa 100644 --- a/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp +++ b/BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp @@ -2,7 +2,7 @@ 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 **/ @@ -444,21 +444,10 @@ CFormPkg::GenCFile ( return Ret; } - // - // For framework vfr file, the extension framework header will be added. - // - if (VfrCompatibleMode) { - fprintf (pFile, " // FRAMEWORK PACKAGE HEADER Length\n"); - PkgLength = 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 = 3; - _WRITE_PKG_LINE(pFile, BYTES_PRE_LINE, " ", (CHAR8 *)&PkgLength, sizeof (UINT16)); - } else { - fprintf (pFile, " // ARRAY LENGTH\n"); - PkgLength = PkgHdr->Length + sizeof (UINT32); - _WRITE_PKG_LINE(pFile, BYTES_PRE_LINE, " ", (CHAR8 *)&PkgLength, sizeof (UINT32)); - } + + fprintf (pFile, " // ARRAY LENGTH\n"); + PkgLength = 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)); @@ -968,7 +957,7 @@ CFormPkg::DeclarePendingQuestion ( // For undefined Efi VarStore type question // Append the extended guided opcode to contain VarName // - if (VarStoreType == EFI_VFR_VARSTORE_EFI || VfrCompatibleMode) { + if (VarStoreType == 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 68df87b..1cea4f0 100644 --- a/BaseTools/Source/C/VfrCompile/VfrFormPkg.h +++ b/BaseTools/Source/C/VfrCompile/VfrFormPkg.h @@ -2,7 +2,7 @@ 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 **/ @@ -95,7 +95,6 @@ struct SBufferNode { }; typedef struct { - BOOLEAN CompatibleMode; EFI_GUID *OverrideClassGuid; } INPUT_INFO_TO_SYNTAX; diff --git a/BaseTools/Source/C/VfrCompile/VfrSyntax.g b/BaseTools/Source/C/VfrCompile/VfrSyntax.g index 04fe030..24b30e3 100644 --- a/BaseTools/Source/C/VfrCompile/VfrSyntax.g +++ b/BaseTools/Source/C/VfrCompile/VfrSyntax.g @@ -1,7 +1,7 @@ /*++ @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 --*/ @@ -49,7 +49,6 @@ VfrParserStart ( ) { ParserBlackBox VfrParser(File); - VfrParser.parser()->SetCompatibleMode (InputInfo->CompatibleMode); VfrParser.parser()->SetOverrideClassGuid (InputInfo->OverrideClassGuid); return VfrParser.parser()->vfrProgram(); } @@ -675,13 +674,6 @@ vfrFormSetDefinition : >> vfrFormSetList E:EndFormSet << - if (mCompatibleMode) { - // - // declare all undefined varstore and efivarstore - // - _DeclareDefaultFrameworkVarStore (GET_LINENO(E)); - } - // // Declare undefined Question so that they can be used in expression. // @@ -5049,7 +5041,6 @@ public: VOID _DeclareDefaultLinearVarStore (IN UINT32); VOID _DeclareStandardDefaultStorage (IN UINT32); - VOID _DeclareDefaultFrameworkVarStore (IN UINT32); VOID AssignQuestionKey (IN CIfrQuestionHeader &, IN ANTLRTokenPtr); @@ -5058,10 +5049,6 @@ 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 *); -// -// For framework vfr compatibility -// - VOID SetCompatibleMode (IN BOOLEAN); >> } @@ -5542,84 +5529,6 @@ EfiVfrParser::_STOR ( 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[] = "Setup"; - - FirstNode = TRUE; - pNode = gCVfrDataStorage.GetBufferVarStoreList(); - if (pNode == NULL && gCVfrVarDataTypeDB.mFirstNewDataTypeName != 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 != NULL; pNode = 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 = 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 = gCVfrDataStorage.GetEfiVarStoreList(); - for (; pNode != NULL; pNode = 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 @@ -5919,16 +5828,6 @@ EfiVfrParser::SetOverrideClassGuid (IN EFI_GUID *OverrideClassGuid) mOverrideClassGuid = OverrideClassGuid; } -// -// For framework vfr compatibility -// -VOID -EfiVfrParser::SetCompatibleMode (IN BOOLEAN Mode) -{ - mCompatibleMode = Mode; - mCVfrQuestionDB.SetCompatibleMode (Mode); -} - VOID EfiVfrParser::CheckDuplicateDefaultValue ( IN EFI_DEFAULT_ID DefaultId, diff --git a/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp b/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp index 9c9c4d4..2b9b5db 100644 --- a/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp +++ b/BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp @@ -2,7 +2,7 @@ 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 **/ @@ -759,17 +759,6 @@ CVfrVarDataTypeDB::GetFieldOffset ( 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 != INVALID_ARRAY_INDEX) { - if (ArrayIdx == 0) { - return VFR_RETURN_ERROR_ARRARY_NUM; - } - ArrayIdx = ArrayIdx - 1; - } - if ((ArrayIdx != INVALID_ARRAY_INDEX) && ((Field->mArrayNum == 0) || (Field->mArrayNum <= ArrayIdx))) { return VFR_RETURN_ERROR_ARRARY_NUM; } @@ -1683,17 +1672,7 @@ CVfrDataStorage::GetFreeVarStoreId ( { UINT32 Index, Mask, Offset; - // - // Assign the different ID range for the different type VarStore to support Framework Vfr - // Index = 0; - if ((!VfrCompatibleMode) || (VarType == EFI_VFR_VARSTORE_BUFFER)) { - Index = 0; - } else if (VarType == EFI_VFR_VARSTORE_EFI) { - Index = 1; - } else if (VarType == EFI_VFR_VARSTORE_NAME) { - Index = 2; - } for (; Index < EFI_FREE_VARSTORE_ID_BITMAP_SIZE; Index++) { if (mFreeVarStoreIdBitMap[Index] != 0xFFFFFFFF) { @@ -1915,13 +1894,6 @@ 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 = NULL; for (pNode = mBufferVarStoreList; pNode != NULL; pNode = pNode->mNext) { if (strcmp (pNode->mStorageInfo.mDataType->mTypeName, DataTypeName) != 0) { @@ -2289,16 +2261,6 @@ CVfrDataStorage::GetNameVarStoreInfo ( 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 == 0) { - return VFR_RETURN_ERROR_ARRARY_NUM; - } - Index --; - } - Info->mInfo.mVarName = mCurrVarStorageNode->mStorageInfo.mNameSpace.mNameTable[Index]; return VFR_RETURN_SUCCESS; @@ -2861,10 +2823,7 @@ CVfrQuestionDB::RegisterQuestion ( if (QuestionId == EFI_QUESTION_ID_INVALID) { QuestionId = GetFreeQuestionId (); } else { - // - // For Framework Vfr, don't check question ID conflict. - // - if (!VfrCompatibleMode && ChekQuestionIdFree (QuestionId) == FALSE) { + if (ChekQuestionIdFree (QuestionId) == FALSE) { delete pNode; return VFR_RETURN_QUESTIONID_REDEFINED; } @@ -3368,10 +3327,7 @@ CVfrQuestionDB::UpdateQuestionId ( return VFR_RETURN_SUCCESS; } - // - // For Framework Vfr, don't check question ID conflict. - // - if (!VfrCompatibleMode && ChekQuestionIdFree (NewQId) == FALSE) { + if (ChekQuestionIdFree (NewQId) == FALSE) { return VFR_RETURN_REDEFINED; } @@ -3957,8 +3913,6 @@ CVfrStringDB::GetUnicodeStringTextSize ( return StringSize; } -BOOLEAN VfrCompatibleMode = FALSE; - CVfrVarDataTypeDB gCVfrVarDataTypeDB; CVfrDefaultStore gCVfrDefaultStore; CVfrDataStorage gCVfrDataStorage; diff --git a/BaseTools/Source/C/VfrCompile/VfrUtilityLib.h b/BaseTools/Source/C/VfrCompile/VfrUtilityLib.h index e2b2917..57bb0c4 100644 --- a/BaseTools/Source/C/VfrCompile/VfrUtilityLib.h +++ b/BaseTools/Source/C/VfrCompile/VfrUtilityLib.h @@ -2,7 +2,7 @@ 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 **/ @@ -15,7 +15,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #include "EfiVfr.h" #include "VfrError.h" -extern BOOLEAN VfrCompatibleMode; static EFI_GUID gEdkiiIfrBitVarGuid = EDKII_IFR_BIT_VARSTORE_GUID; #define MAX_BIT_WIDTH 32 @@ -424,10 +423,6 @@ public: VOID PrintAllQuestion (IN VOID); VOID ResetInit (IN VOID); - VOID SetCompatibleMode (IN BOOLEAN Mode) { - VfrCompatibleMode = Mode; - } - private: CVfrQuestionDB (IN CONST CVfrQuestionDB&); // Prevent copy-construction CVfrQuestionDB& operator= (IN CONST CVfrQuestionDB&); // Prevent assignment -- cgit v1.1