summaryrefslogtreecommitdiffstats
path: root/BaseTools/Source/C
diff options
context:
space:
mode:
authorDandan Bi <dandan.bi@intel.com>2019-04-16 16:36:56 +0800
committerLiming Gao <liming.gao@intel.com>2019-05-09 09:42:54 +0800
commit1b72fd5121b5b31918be0a9a0868a39070d4c8d4 (patch)
tree9db8092dfc09d41a2676f2d87bca1db1a8115aaa /BaseTools/Source/C
parent792f0d4f12ad5c01afdf9c92df8c479ff0f19a79 (diff)
downloadedk2-1b72fd5121b5b31918be0a9a0868a39070d4c8d4.tar.gz
edk2-1b72fd5121b5b31918be0a9a0868a39070d4c8d4.tar.bz2
edk2-1b72fd5121b5b31918be0a9a0868a39070d4c8d4.zip
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 <bob.c.feng@intel.com> Cc: Liming Gao <liming.gao@intel.com> Signed-off-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Bob Feng <bob.c.feng@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
Diffstat (limited to 'BaseTools/Source/C')
-rw-r--r--BaseTools/Source/C/VfrCompile/VfrCompiler.cpp35
-rw-r--r--BaseTools/Source/C/VfrCompile/VfrCompiler.h3
-rw-r--r--BaseTools/Source/C/VfrCompile/VfrFormPkg.cpp23
-rw-r--r--BaseTools/Source/C/VfrCompile/VfrFormPkg.h3
-rw-r--r--BaseTools/Source/C/VfrCompile/VfrSyntax.g103
-rw-r--r--BaseTools/Source/C/VfrCompile/VfrUtilityLib.cpp52
-rw-r--r--BaseTools/Source/C/VfrCompile/VfrUtilityLib.h7
7 files changed, 15 insertions, 211 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
@@ -2,7 +2,7 @@
VfrCompiler main class and main function.
-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
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 b8cccca4b0..b6e207d2ce 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.<BR>
+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
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 5948dc0883..36d3baaf10 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.<BR>
+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
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 68df87ba88..1cea4f0e25 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.<BR>
+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
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 04fe030b61..24b30e3825 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.<BR>
+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
--*/
@@ -49,7 +49,6 @@ VfrParserStart (
)
{
ParserBlackBox<CVfrDLGLexer, EfiVfrParser, ANTLRToken> 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 9c9c4d4054..2b9b5dbb1c 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.<BR>
+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
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 e2b2917e99..57bb0c424d 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.<BR>
+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
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