X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=BaseTools%2FSource%2FC%2FVfrCompile%2FVfrSyntax.g;h=406dbc5988a1c604c9186901ab3b0e5d191d4460;hb=d37fa01fbbe2cf0cd8b49069a71706a33cb4a53e;hp=fba8967fd2a2685654884e1915286cc1a9a20f47;hpb=366430c71558f24400bfdcd6258079d8640175ac;p=mirror_edk2.git diff --git a/BaseTools/Source/C/VfrCompile/VfrSyntax.g b/BaseTools/Source/C/VfrCompile/VfrSyntax.g index fba8967fd2..406dbc5988 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 - 2015, Intel Corporation. All rights reserved.
+Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -23,6 +23,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. >> << +#ifdef UINT8_MAX +#undef UINT8_MAX +#endif #include "stdio.h" #include "PBlackBox.h" #include "DLexerBase.h" @@ -30,8 +33,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #include "AToken.h" #define GET_LINENO(Obj) ((Obj)->getLine()) -#define SET_LINE_INFO(Obj, L) {(Obj).SetLineNo((L)->getLine());} while (0) -#define CRT_END_OP(Obj) {CIfrEnd EObj; if (Obj != NULL) EObj.SetLineNo ((Obj)->getLine());} while (0) +#define SET_LINE_INFO(Obj, L) do {(Obj).SetLineNo((L)->getLine());} while (0) +#define CRT_END_OP(Obj) do {CIfrEnd EObj; if (Obj != NULL) EObj.SetLineNo ((Obj)->getLine());} while (0) typedef ANTLRCommonToken ANTLRToken; @@ -593,7 +596,7 @@ vfrFormSetDefinition : if (gCFormPkg.HavePendingUnassigned()) { mParserStatus += gCFormPkg.DeclarePendingQuestion ( gCVfrVarDataTypeDB, - mCVfrDataStorage, + gCVfrDataStorage, mCVfrQuestionDB, &mFormsetGuid, E->getLine(), @@ -611,7 +614,8 @@ vfrFormSetDefinition : if (gNeedAdjustOpcode) { gCFormPkg.AdjustDynamicInsertOpcode ( mLastFormEndAddr, - InsertOpcodeAddr + InsertOpcodeAddr, + FALSE ); } @@ -831,14 +835,14 @@ vfrStatementDefaultStore : "," Attribute "=" A:Number << DefaultId = _STOU16(A->getText(), A->getLine()); >> } << - if (mCVfrDefaultStore.DefaultIdRegistered (DefaultId) == FALSE) { + if (gCVfrDefaultStore.DefaultIdRegistered (DefaultId) == FALSE) { CIfrDefaultStore DSObj; - _PCATCH(mCVfrDefaultStore.RegisterDefaultStore (DSObj.GetObjBinAddr(), N->getText(), _STOSID(S->getText(), S->getLine()), DefaultId)), D->getLine(); + _PCATCH(gCVfrDefaultStore.RegisterDefaultStore (DSObj.GetObjBinAddr(), N->getText(), _STOSID(S->getText(), S->getLine()), DefaultId)), D->getLine(); DSObj.SetLineNo(D->getLine()); DSObj.SetDefaultName (_STOSID(S->getText(), S->getLine())); DSObj.SetDefaultId (DefaultId); } else { - _PCATCH(mCVfrDefaultStore.ReRegisterDefaultStoreById (DefaultId, N->getText(), _STOSID(S->getText(), S->getLine()))), D->getLine(); + _PCATCH(gCVfrDefaultStore.ReRegisterDefaultStoreById (DefaultId, N->getText(), _STOSID(S->getText(), S->getLine()))), D->getLine(); } >> ";" @@ -890,7 +894,7 @@ vfrStatementVarStoreLinear : } else { StoreName = SN->getText(); } - _PCATCH(mCVfrDataStorage.DeclareBufferVarStore ( + _PCATCH(gCVfrDataStorage.DeclareBufferVarStore ( StoreName, &Guid, &gCVfrVarDataTypeDB, @@ -898,7 +902,7 @@ vfrStatementVarStoreLinear : VarStoreId ), LineNum); VSObj.SetGuid (&Guid); - _PCATCH(mCVfrDataStorage.GetVarStoreId(StoreName, &VarStoreId, &Guid), SN); + _PCATCH(gCVfrDataStorage.GetVarStoreId(StoreName, &VarStoreId, &Guid), SN); VSObj.SetVarStoreId (VarStoreId); _PCATCH(gCVfrVarDataTypeDB.GetDataTypeSize(TypeName, &Size), LineNum); VSObj.SetSize ((UINT16) Size); @@ -982,24 +986,24 @@ vfrStatementVarStoreEfi : Uuid "=" guidDefinition[Guid] << if (IsUEFI23EfiVarstore) { - _PCATCH(mCVfrDataStorage.DeclareBufferVarStore ( + _PCATCH(gCVfrDataStorage.DeclareBufferVarStore ( StoreName, &Guid, &gCVfrVarDataTypeDB, TypeName, VarStoreId ), LineNum); - _PCATCH(mCVfrDataStorage.GetVarStoreId(StoreName, &VarStoreId, &Guid), SN); + _PCATCH(gCVfrDataStorage.GetVarStoreId(StoreName, &VarStoreId, &Guid), SN); _PCATCH(gCVfrVarDataTypeDB.GetDataTypeSize(TypeName, &Size), LineNum); } else { - _PCATCH(mCVfrDataStorage.DeclareBufferVarStore ( + _PCATCH(gCVfrDataStorage.DeclareBufferVarStore ( TN->getText(), &Guid, &gCVfrVarDataTypeDB, TypeName, VarStoreId ), LineNum); - _PCATCH(mCVfrDataStorage.GetVarStoreId(TN->getText(), &VarStoreId, &Guid), VN); + _PCATCH(gCVfrDataStorage.GetVarStoreId(TN->getText(), &VarStoreId, &Guid), VN); _PCATCH(gCVfrVarDataTypeDB.GetDataTypeSize(TypeName, &Size), N->getLine()); } VSEObj.SetGuid (&Guid); @@ -1040,16 +1044,16 @@ vfrStatementVarStoreNameValue : ( Name "=" "STRING_TOKEN" "\(" N:Number "\)" "," << if (!Created) { - _PCATCH(mCVfrDataStorage.DeclareNameVarStoreBegin (SN->getText(), VarStoreId), SN); + _PCATCH(gCVfrDataStorage.DeclareNameVarStoreBegin (SN->getText(), VarStoreId), SN); Created = TRUE; } - _PCATCH(mCVfrDataStorage.NameTableAddItem (_STOSID(N->getText(), N->getLine())), SN); + _PCATCH(gCVfrDataStorage.NameTableAddItem (_STOSID(N->getText(), N->getLine())), SN); >> )+ - Uuid "=" guidDefinition[Guid] << _PCATCH(mCVfrDataStorage.DeclareNameVarStoreEnd (&Guid), SN); >> + Uuid "=" guidDefinition[Guid] << _PCATCH(gCVfrDataStorage.DeclareNameVarStoreEnd (&Guid), SN); >> << VSNVObj.SetGuid (&Guid); - _PCATCH(mCVfrDataStorage.GetVarStoreId(SN->getText(), &VarStoreId, &Guid), SN); + _PCATCH(gCVfrDataStorage.GetVarStoreId(SN->getText(), &VarStoreId, &Guid), SN); VSNVObj.SetVarStoreId (VarStoreId); >> ";" @@ -1241,9 +1245,9 @@ vfrStorageVarId[EFI_VARSTORE_INFO & Info, CHAR8 *&QuestVarIdStr, BOOLEAN CheckFl _STRCAT(&VarIdStr, "]"); >> << - VfrReturnCode = mCVfrDataStorage.GetVarStoreId(SName, &$Info.mVarStoreId); + VfrReturnCode = gCVfrDataStorage.GetVarStoreId(SName, &$Info.mVarStoreId); if (mCompatibleMode && VfrReturnCode == VFR_RETURN_UNDEFINED) { - mCVfrDataStorage.DeclareBufferVarStore ( + gCVfrDataStorage.DeclareBufferVarStore ( SName, &mFormsetGuid, &gCVfrVarDataTypeDB, @@ -1251,11 +1255,11 @@ vfrStorageVarId[EFI_VARSTORE_INFO & Info, CHAR8 *&QuestVarIdStr, BOOLEAN CheckFl EFI_VARSTORE_ID_INVALID, FALSE ); - VfrReturnCode = mCVfrDataStorage.GetVarStoreId(SName, &$Info.mVarStoreId, &mFormsetGuid); + VfrReturnCode = gCVfrDataStorage.GetVarStoreId(SName, &$Info.mVarStoreId, &mFormsetGuid); } if (CheckFlag || VfrReturnCode == VFR_RETURN_SUCCESS) { _PCATCH(VfrReturnCode, SN1); - _PCATCH(mCVfrDataStorage.GetNameVarStoreInfo (&$Info, Idx), SN1); + _PCATCH(gCVfrDataStorage.GetNameVarStoreInfo (&$Info, Idx), SN1); } QuestVarIdStr = VarIdStr; @@ -1265,9 +1269,9 @@ vfrStorageVarId[EFI_VARSTORE_INFO & Info, CHAR8 *&QuestVarIdStr, BOOLEAN CheckFl ( SN2:StringIdentifier << SName = SN2->getText(); _STRCAT(&VarIdStr, SName); >> << - VfrReturnCode = mCVfrDataStorage.GetVarStoreId(SName, &$Info.mVarStoreId); + VfrReturnCode = gCVfrDataStorage.GetVarStoreId(SName, &$Info.mVarStoreId); if (mCompatibleMode && VfrReturnCode == VFR_RETURN_UNDEFINED) { - mCVfrDataStorage.DeclareBufferVarStore ( + gCVfrDataStorage.DeclareBufferVarStore ( SName, &mFormsetGuid, &gCVfrVarDataTypeDB, @@ -1275,13 +1279,13 @@ vfrStorageVarId[EFI_VARSTORE_INFO & Info, CHAR8 *&QuestVarIdStr, BOOLEAN CheckFl EFI_VARSTORE_ID_INVALID, FALSE ); - VfrReturnCode = mCVfrDataStorage.GetVarStoreId(SName, &$Info.mVarStoreId, &mFormsetGuid); + VfrReturnCode = gCVfrDataStorage.GetVarStoreId(SName, &$Info.mVarStoreId, &mFormsetGuid); } if (CheckFlag || VfrReturnCode == VFR_RETURN_SUCCESS) { _PCATCH(VfrReturnCode, SN2); - VarStoreType = mCVfrDataStorage.GetVarStoreType ($Info.mVarStoreId); + VarStoreType = gCVfrDataStorage.GetVarStoreType ($Info.mVarStoreId); if (VarStoreType == EFI_VFR_VARSTORE_BUFFER) { - _PCATCH(mCVfrDataStorage.GetBufferVarStoreDataTypeName(Info.mVarStoreId, &TName), SN2); + _PCATCH(gCVfrDataStorage.GetBufferVarStoreDataTypeName(Info.mVarStoreId, &TName), SN2); _STRCAT(&VarStr, TName); } } @@ -1316,11 +1320,11 @@ vfrStorageVarId[EFI_VARSTORE_INFO & Info, CHAR8 *&QuestVarIdStr, BOOLEAN CheckFl )* << switch (VarStoreType) { case EFI_VFR_VARSTORE_EFI: - _PCATCH(mCVfrDataStorage.GetEfiVarStoreInfo (&$Info), SN2); + _PCATCH(gCVfrDataStorage.GetEfiVarStoreInfo (&$Info), SN2); break; case EFI_VFR_VARSTORE_BUFFER: _PCATCH(gCVfrVarDataTypeDB.GetDataFieldInfo (VarStr, $Info.mInfo.mVarOffset, $Info.mVarType, $Info.mVarTotalSize), SN2->getLine(), VarStr); - VarGuid = mCVfrDataStorage.GetVarStoreGuid($Info.mVarStoreId); + VarGuid = gCVfrDataStorage.GetVarStoreGuid($Info.mVarStoreId); _PCATCH((EFI_VFR_RETURN_CODE)gCVfrBufferConfig.Register ( SName, VarGuid, @@ -1336,6 +1340,7 @@ vfrStorageVarId[EFI_VARSTORE_INFO & Info, CHAR8 *&QuestVarIdStr, BOOLEAN CheckFl $Info.mVarTotalSize, Dummy), SN2->getLine()); + _PCATCH(gCVfrDataStorage.AddBufferVarStoreFieldInfo(&$Info ),SN2->getLine()); break; case EFI_VFR_VARSTORE_NAME: default: break; @@ -1746,6 +1751,8 @@ vfrStatementDefault : DObj->SetLineNo(D->getLine()); if (ArrayType) { DObj->SetType (EFI_IFR_TYPE_BUFFER); + } else if (gIsStringOp) { + DObj->SetType (EFI_IFR_TYPE_STRING); } else { DObj->SetType (_GET_CURRQEST_DATATYPE()); } @@ -1756,7 +1763,7 @@ vfrStatementDefault : ) { DefaultStore "=" SN:StringIdentifier "," << - _PCATCH(mCVfrDefaultStore.GetDefaultId (SN->getText(), &DefaultId), SN); + _PCATCH(gCVfrDefaultStore.GetDefaultId (SN->getText(), &DefaultId), SN); if (DObj != NULL) { DObj->SetDefaultId (DefaultId); } @@ -1769,11 +1776,11 @@ vfrStatementDefault : << CheckDuplicateDefaultValue (DefaultId, D); if (_GET_CURRQEST_VARTINFO().mVarStoreId != EFI_VARSTORE_ID_INVALID) { - _PCATCH(mCVfrDataStorage.GetVarStoreName (_GET_CURRQEST_VARTINFO().mVarStoreId, &VarStoreName), D->getLine()); - VarGuid = mCVfrDataStorage.GetVarStoreGuid(_GET_CURRQEST_VARTINFO().mVarStoreId); - VarStoreType = mCVfrDataStorage.GetVarStoreType (_GET_CURRQEST_VARTINFO().mVarStoreId); + _PCATCH(gCVfrDataStorage.GetVarStoreName (_GET_CURRQEST_VARTINFO().mVarStoreId, &VarStoreName), D->getLine()); + VarGuid = gCVfrDataStorage.GetVarStoreGuid(_GET_CURRQEST_VARTINFO().mVarStoreId); + VarStoreType = gCVfrDataStorage.GetVarStoreType (_GET_CURRQEST_VARTINFO().mVarStoreId); if ((IsExp == FALSE) && (VarStoreType == EFI_VFR_VARSTORE_BUFFER)) { - _PCATCH(mCVfrDefaultStore.BufferVarStoreAltConfigAdd ( + _PCATCH(gCVfrDefaultStore.BufferVarStoreAltConfigAdd ( DefaultId, _GET_CURRQEST_VARTINFO(), VarStoreName, @@ -2126,7 +2133,7 @@ vfrStatementResetButton : L:ResetButton << RBObj.SetLineNo(L->getLine()); >> DefaultStore "=" N:StringIdentifier "," << - _PCATCH(mCVfrDefaultStore.GetDefaultId (N->getText(), &DefaultId), N->getLine()); + _PCATCH(gCVfrDefaultStore.GetDefaultId (N->getText(), &DefaultId), N->getLine()); RBObj.SetDefaultId (DefaultId); >> vfrStatementHeader[&RBObj] "," @@ -2169,7 +2176,7 @@ vfrStatementCheckBox : _PCATCH (gCVfrVarDataTypeDB.GetDataTypeSize (_GET_CURRQEST_DATATYPE(), &DataTypeSize), L->getLine(), "CheckBox varid is not the valid data type"); if (DataTypeSize != 0 && DataTypeSize != _GET_CURRQEST_VARSIZE()) { _PCATCH (VFR_RETURN_INVALID_PARAMETER, L->getLine(), "CheckBox varid doesn't support array"); - } else if ((mCVfrDataStorage.GetVarStoreType (_GET_CURRQEST_VARTINFO().mVarStoreId) == EFI_VFR_VARSTORE_BUFFER) && + } else if ((gCVfrDataStorage.GetVarStoreType (_GET_CURRQEST_VARTINFO().mVarStoreId) == EFI_VFR_VARSTORE_BUFFER) && (_GET_CURRQEST_VARSIZE() != sizeof (BOOLEAN))) { _PCATCH (VFR_RETURN_INVALID_PARAMETER, L->getLine(), "CheckBox varid only support BOOLEAN data type"); } @@ -2179,13 +2186,13 @@ vfrStatementCheckBox : F:FLAGS "=" vfrCheckBoxFlags[CBObj, F->getLine()] "," << if (_GET_CURRQEST_VARTINFO().mVarStoreId != EFI_VARSTORE_ID_INVALID) { - _PCATCH(mCVfrDataStorage.GetVarStoreName (_GET_CURRQEST_VARTINFO().mVarStoreId, &VarStoreName), VFR_RETURN_SUCCESS, L, "Failed to retrieve varstore name"); - VarStoreGuid = mCVfrDataStorage.GetVarStoreGuid(_GET_CURRQEST_VARTINFO().mVarStoreId); + _PCATCH(gCVfrDataStorage.GetVarStoreName (_GET_CURRQEST_VARTINFO().mVarStoreId, &VarStoreName), VFR_RETURN_SUCCESS, L, "Failed to retrieve varstore name"); + VarStoreGuid = gCVfrDataStorage.GetVarStoreGuid(_GET_CURRQEST_VARTINFO().mVarStoreId); Val.b = TRUE; if (CBObj.GetFlags () & 0x01) { CheckDuplicateDefaultValue (EFI_HII_DEFAULT_CLASS_STANDARD, F); _PCATCH( - mCVfrDefaultStore.BufferVarStoreAltConfigAdd ( + gCVfrDefaultStore.BufferVarStoreAltConfigAdd ( EFI_HII_DEFAULT_CLASS_STANDARD, _GET_CURRQEST_VARTINFO(), VarStoreName, @@ -2201,7 +2208,7 @@ vfrStatementCheckBox : if (CBObj.GetFlags () & 0x02) { CheckDuplicateDefaultValue (EFI_HII_DEFAULT_CLASS_MANUFACTURING, F); _PCATCH( - mCVfrDefaultStore.BufferVarStoreAltConfigAdd ( + gCVfrDefaultStore.BufferVarStoreAltConfigAdd ( EFI_HII_DEFAULT_CLASS_MANUFACTURING, _GET_CURRQEST_VARTINFO(), VarStoreName, @@ -2698,7 +2705,7 @@ vfrNumericFlags [CIfrNumeric & NObj, UINT32 LineNum] : << //check data type flag if (_GET_CURRQEST_VARTINFO().mVarStoreId != EFI_VARSTORE_ID_INVALID) { - VarStoreType = mCVfrDataStorage.GetVarStoreType (_GET_CURRQEST_VARTINFO().mVarStoreId); + VarStoreType = gCVfrDataStorage.GetVarStoreType (_GET_CURRQEST_VARTINFO().mVarStoreId); if (VarStoreType == EFI_VFR_VARSTORE_BUFFER || VarStoreType == EFI_VFR_VARSTORE_EFI) { if (_GET_CURRQEST_DATATYPE() != (LFlags & EFI_IFR_NUMERIC_SIZE)) { _PCATCH(VFR_RETURN_INVALID_PARAMETER, LineNum, "Numeric Flag is not same to Numeric VarData type"); @@ -2788,7 +2795,7 @@ vfrOneofFlagsField [CIfrOneOf & OObj, UINT32 LineNum] : << //check data type flag if (_GET_CURRQEST_VARTINFO().mVarStoreId != EFI_VARSTORE_ID_INVALID) { - VarStoreType = mCVfrDataStorage.GetVarStoreType (_GET_CURRQEST_VARTINFO().mVarStoreId); + VarStoreType = gCVfrDataStorage.GetVarStoreType (_GET_CURRQEST_VARTINFO().mVarStoreId); if (VarStoreType == EFI_VFR_VARSTORE_BUFFER || VarStoreType == EFI_VFR_VARSTORE_EFI) { if (_GET_CURRQEST_DATATYPE() != (LFlags & EFI_IFR_NUMERIC_SIZE)) { _PCATCH(VFR_RETURN_INVALID_PARAMETER, LineNum, "Numeric Flag is not same to Numeric VarData type"); @@ -2819,7 +2826,7 @@ vfrStatementString : UINT8 StringMinSize; UINT8 StringMaxSize; >> - L:String << SObj.SetLineNo(L->getLine()); >> + L:String << SObj.SetLineNo(L->getLine()); gIsStringOp = TRUE;>> vfrQuestionHeader[SObj] "," { F:FLAGS "=" vfrStringFlagsField[SObj, F->getLine()] "," } { @@ -2847,7 +2854,7 @@ vfrStatementString : SObj.SetMaxSize (StringMaxSize); >> vfrStatementQuestionOptionList - E:EndString << CRT_END_OP (E); >> + E:EndString << CRT_END_OP (E); gIsStringOp = FALSE;>> ";" ; @@ -3256,7 +3263,7 @@ vfrStatementInconsistentIf : Prompt "=" "STRING_TOKEN" "\(" S:Number "\)" "," << IIObj.SetError (_STOSID(S->getText(), S->getLine())); >> { FLAGS "=" flagsField ( "\|" flagsField )* "," } vfrStatementExpression[0] - E:EndIf << CRT_END_OP (E); >> + E:EndIf {";"} << CRT_END_OP (E); >> ; vfrStatementNoSubmitIf : @@ -3265,7 +3272,7 @@ vfrStatementNoSubmitIf : Prompt "=" "STRING_TOKEN" "\(" S:Number "\)" "," << NSIObj.SetError (_STOSID(S->getText(), S->getLine())); >> { FLAGS "=" flagsField ( "\|" flagsField )* "," } vfrStatementExpression[0] - E:EndIf << CRT_END_OP (E); >> + E:EndIf {";"} << CRT_END_OP (E); >> ; vfrStatementWarningIf : @@ -3274,7 +3281,7 @@ vfrStatementWarningIf : Prompt "=" "STRING_TOKEN" "\(" S:Number "\)" "," << WIObj.SetWarning (_STOSID(S->getText(), S->getLine())); >> {Timeout "=" T:Number "," << WIObj.SetTimeOut (_STOU8(T->getText(), T->getLine())); >>} vfrStatementExpression[0] - E:EndIf << CRT_END_OP (E); >> + E:EndIf {";"} << CRT_END_OP (E); >> ; vfrStatementDisableIfQuest : @@ -3284,7 +3291,7 @@ vfrStatementDisableIfQuest : L:DisableIf << DIObj.SetLineNo(L->getLine()); >> vfrStatementExpression[0] ";" vfrStatementQuestionOptionList - E:EndIf << CRT_END_OP (E); >> + E:EndIf {";"} << CRT_END_OP (E); >> ; vfrStatementRefresh : @@ -3314,7 +3321,7 @@ vfrStatementSuppressIfQuest : { FLAGS "=" flagsField ( "\|" flagsField )* "," } vfrStatementExpression[0] ";" vfrStatementQuestionOptionList - E:EndIf << CRT_END_OP (E); >> + E:EndIf {";"} << CRT_END_OP (E); >> ; vfrStatementGrayOutIfQuest : @@ -3323,7 +3330,7 @@ vfrStatementGrayOutIfQuest : { FLAGS "=" flagsField ( "\|" flagsField )* "," } vfrStatementExpression[0] ";" vfrStatementQuestionOptionList - E:EndIf << CRT_END_OP (E); >> + E:EndIf {";"} << CRT_END_OP (E); >> ; vfrStatementOptions : @@ -3440,11 +3447,11 @@ vfrStatementOneOfOption : } if (_GET_CURRQEST_VARTINFO().mVarStoreId != EFI_VARSTORE_ID_INVALID) { - _PCATCH(mCVfrDataStorage.GetVarStoreName (_GET_CURRQEST_VARTINFO().mVarStoreId, &VarStoreName), L->getLine()); - VarStoreGuid = mCVfrDataStorage.GetVarStoreGuid(_GET_CURRQEST_VARTINFO().mVarStoreId); + _PCATCH(gCVfrDataStorage.GetVarStoreName (_GET_CURRQEST_VARTINFO().mVarStoreId, &VarStoreName), L->getLine()); + VarStoreGuid = gCVfrDataStorage.GetVarStoreGuid(_GET_CURRQEST_VARTINFO().mVarStoreId); if (OOOObj->GetFlags () & EFI_IFR_OPTION_DEFAULT) { CheckDuplicateDefaultValue (EFI_HII_DEFAULT_CLASS_STANDARD, F); - _PCATCH(mCVfrDefaultStore.BufferVarStoreAltConfigAdd ( + _PCATCH(gCVfrDefaultStore.BufferVarStoreAltConfigAdd ( EFI_HII_DEFAULT_CLASS_STANDARD, _GET_CURRQEST_VARTINFO(), VarStoreName, @@ -3455,7 +3462,7 @@ vfrStatementOneOfOption : } if (OOOObj->GetFlags () & EFI_IFR_OPTION_DEFAULT_MFG) { CheckDuplicateDefaultValue (EFI_HII_DEFAULT_CLASS_MANUFACTURING, F); - _PCATCH(mCVfrDefaultStore.BufferVarStoreAltConfigAdd ( + _PCATCH(gCVfrDefaultStore.BufferVarStoreAltConfigAdd ( EFI_HII_DEFAULT_CLASS_MANUFACTURING, _GET_CURRQEST_VARTINFO(), VarStoreName, @@ -3925,9 +3932,9 @@ vareqvalExp [UINT32 & RootLevel, UINT32 & ExpOpCount] : OpenParen VN:Number << VarIdStr = NULL; _STRCAT(&VarIdStr, VK->getText()); _STRCAT(&VarIdStr, VN->getText()); - VfrReturnCode = mCVfrDataStorage.GetVarStoreId (VarIdStr, &VarStoreId); + VfrReturnCode = gCVfrDataStorage.GetVarStoreId (VarIdStr, &VarStoreId); if (VfrReturnCode == VFR_RETURN_UNDEFINED) { - _PCATCH (mCVfrDataStorage.DeclareEfiVarStore ( + _PCATCH (gCVfrDataStorage.DeclareEfiVarStore ( VarIdStr, &mFormsetGuid, _STOSID(VN->getText(), VN->getLine()), @@ -4244,7 +4251,7 @@ getExp[UINT32 & RootLevel, UINT32 & ExpOpCount] : break; } } else { - if ((mCVfrDataStorage.GetVarStoreType(Info.mVarStoreId) == EFI_VFR_VARSTORE_NAME) && (VarType == EFI_IFR_TYPE_UNDEFINED)) { + if ((gCVfrDataStorage.GetVarStoreType(Info.mVarStoreId) == EFI_VFR_VARSTORE_NAME) && (VarType == EFI_IFR_TYPE_UNDEFINED)) { _PCATCH(VFR_RETURN_UNSUPPORTED, L->getLine(), "Get/Set opcode don't support name string"); } if (VarType != EFI_IFR_TYPE_UNDEFINED) { @@ -4419,7 +4426,7 @@ setExp[UINT32 & RootLevel, UINT32 & ExpOpCount] : break; } } else { - if ((mCVfrDataStorage.GetVarStoreType(Info.mVarStoreId) == EFI_VFR_VARSTORE_NAME) && (VarType == EFI_IFR_TYPE_UNDEFINED)) { + if ((gCVfrDataStorage.GetVarStoreType(Info.mVarStoreId) == EFI_VFR_VARSTORE_NAME) && (VarType == EFI_IFR_TYPE_UNDEFINED)) { _PCATCH(VFR_RETURN_UNSUPPORTED, L->getLine(), "Get/Set opcode don't support name string"); } if (VarType != EFI_IFR_TYPE_UNDEFINED) { @@ -4548,8 +4555,6 @@ private: UINT8 mParserStatus; BOOLEAN mConstantOnlyInExpression; - CVfrDefaultStore mCVfrDefaultStore; - CVfrDataStorage mCVfrDataStorage; CVfrQuestionDB mCVfrQuestionDB; CVfrRulesDB mCVfrRulesDB; @@ -5110,7 +5115,7 @@ EfiVfrParser::_DeclareDefaultFrameworkVarStore ( CONST CHAR8 VarName[] = "Setup"; FirstNode = TRUE; - pNode = mCVfrDataStorage.GetBufferVarStoreList(); + pNode = gCVfrDataStorage.GetBufferVarStoreList(); if (pNode == NULL && gCVfrVarDataTypeDB.mFirstNewDataTypeName != NULL) { // // Create the default Buffer Var Store when no VarStore is defined. @@ -5152,7 +5157,7 @@ EfiVfrParser::_DeclareDefaultFrameworkVarStore ( } } - pNode = mCVfrDataStorage.GetEfiVarStoreList(); + pNode = gCVfrDataStorage.GetEfiVarStoreList(); for (; pNode != NULL; pNode = pNode->mNext) { // // create the default efi varstore opcode for not exist varstore @@ -5195,14 +5200,14 @@ EfiVfrParser::_DeclareDefaultLinearVarStore ( CIfrVarStore VSObj; VSObj.SetLineNo (LineNo); - mCVfrDataStorage.DeclareBufferVarStore ( + gCVfrDataStorage.DeclareBufferVarStore ( TypeNameList[Index], &mFormsetGuid, &gCVfrVarDataTypeDB, TypeNameList[Index], EFI_VARSTORE_ID_INVALID ); - mCVfrDataStorage.GetVarStoreId(TypeNameList[Index], &VarStoreId, &mFormsetGuid); + gCVfrDataStorage.GetVarStoreId(TypeNameList[Index], &VarStoreId, &mFormsetGuid); VSObj.SetVarStoreId (VarStoreId); gCVfrVarDataTypeDB.GetDataTypeSize(TypeNameList[Index], &Size); VSObj.SetSize ((UINT16) Size); @@ -5220,14 +5225,14 @@ EfiVfrParser::_DeclareDefaultLinearVarStore ( CIfrVarStore VSObj; VSObj.SetLineNo (LineNo); - mCVfrDataStorage.DeclareBufferVarStore ( + gCVfrDataStorage.DeclareBufferVarStore ( (CHAR8 *) DateName, &mFormsetGuid, &gCVfrVarDataTypeDB, (CHAR8 *) DateType, EFI_VARSTORE_ID_INVALID ); - mCVfrDataStorage.GetVarStoreId((CHAR8 *) DateName, &VarStoreId, &mFormsetGuid); + gCVfrDataStorage.GetVarStoreId((CHAR8 *) DateName, &VarStoreId, &mFormsetGuid); VSObj.SetVarStoreId (VarStoreId); gCVfrVarDataTypeDB.GetDataTypeSize((CHAR8 *) DateType, &Size); VSObj.SetSize ((UINT16) Size); @@ -5241,14 +5246,14 @@ EfiVfrParser::_DeclareDefaultLinearVarStore ( CIfrVarStore VSObj; VSObj.SetLineNo (LineNo); - mCVfrDataStorage.DeclareBufferVarStore ( + gCVfrDataStorage.DeclareBufferVarStore ( (CHAR8 *) TimeName, &mFormsetGuid, &gCVfrVarDataTypeDB, (CHAR8 *) TimeType, EFI_VARSTORE_ID_INVALID ); - mCVfrDataStorage.GetVarStoreId((CHAR8 *) TimeName, &VarStoreId, &mFormsetGuid); + gCVfrDataStorage.GetVarStoreId((CHAR8 *) TimeName, &VarStoreId, &mFormsetGuid); VSObj.SetVarStoreId (VarStoreId); gCVfrVarDataTypeDB.GetDataTypeSize((CHAR8 *) TimeType, &Size); VSObj.SetSize ((UINT16) Size); @@ -5267,7 +5272,7 @@ EfiVfrParser::_DeclareStandardDefaultStorage ( // CIfrDefaultStore DSObj; - mCVfrDefaultStore.RegisterDefaultStore (DSObj.GetObjBinAddr(), (CHAR8 *) "Standard Defaults", EFI_STRING_ID_INVALID, EFI_HII_DEFAULT_CLASS_STANDARD); + gCVfrDefaultStore.RegisterDefaultStore (DSObj.GetObjBinAddr(), (CHAR8 *) "Standard Defaults", EFI_STRING_ID_INVALID, EFI_HII_DEFAULT_CLASS_STANDARD); DSObj.SetLineNo (LineNo); DSObj.SetDefaultName (EFI_STRING_ID_INVALID); DSObj.SetDefaultId (EFI_HII_DEFAULT_CLASS_STANDARD); @@ -5277,7 +5282,7 @@ EfiVfrParser::_DeclareStandardDefaultStorage ( // CIfrDefaultStore DSObjMF; - mCVfrDefaultStore.RegisterDefaultStore (DSObjMF.GetObjBinAddr(), (CHAR8 *) "Standard ManuFacturing", EFI_STRING_ID_INVALID, EFI_HII_DEFAULT_CLASS_MANUFACTURING); + gCVfrDefaultStore.RegisterDefaultStore (DSObjMF.GetObjBinAddr(), (CHAR8 *) "Standard ManuFacturing", EFI_STRING_ID_INVALID, EFI_HII_DEFAULT_CLASS_MANUFACTURING); DSObjMF.SetLineNo (LineNo); DSObjMF.SetDefaultName (EFI_STRING_ID_INVALID); DSObjMF.SetDefaultId (EFI_HII_DEFAULT_CLASS_MANUFACTURING);