REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3752
Add Bit mask to numeric/one of opcode to set correctly Flags for Bit Field. VfrSyntax.g: Set "LFlags &= EDKII_IFR_DISPLAY_BIT" before "LFlags |= (EDKII_IFR_NUMERIC_SIZE_BIT & (_GET_CURRQEST_VARSIZE()));" VfrFormPkg.h: update "if (LFlags & EFI_IFR_DISPLAY)" with "if (LFlags & EDKII_IFR_DISPLAY_BIT)" in SetFlagsForBitField() Signed-off-by: Long1 Huang <long1.hu...@intel.com> --- BaseTools/Source/C/VfrCompile/VfrFormPkg.h | 2 +- BaseTools/Source/C/VfrCompile/VfrSyntax.g | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/BaseTools/Source/C/VfrCompile/VfrFormPkg.h b/BaseTools/Source/C/VfrCompile/VfrFormPkg.h index 1cea4f0e25..9ef6f07787 100644 --- a/BaseTools/Source/C/VfrCompile/VfrFormPkg.h +++ b/BaseTools/Source/C/VfrCompile/VfrFormPkg.h @@ -1455,7 +1455,7 @@ public: return Ret; } - if (LFlags & EFI_IFR_DISPLAY) { + if (LFlags & EDKII_IFR_DISPLAY_BIT) { mOneOf->Flags = LFlags; } else { mOneOf->Flags = LFlags | EDKII_IFR_DISPLAY_UINT_DEC_BIT; diff --git a/BaseTools/Source/C/VfrCompile/VfrSyntax.g b/BaseTools/Source/C/VfrCompile/VfrSyntax.g index 3f896c6f1a..55fd067f8a 100644 --- a/BaseTools/Source/C/VfrCompile/VfrSyntax.g +++ b/BaseTools/Source/C/VfrCompile/VfrSyntax.g @@ -2930,6 +2930,7 @@ vfrNumericFlags [CIfrNumeric & NObj, UINT32 LineNum] : } _PCATCH(NObj.SetFlags (HFlags, LFlags, IsDisplaySpecified), LineNum); } else if ((_GET_CURRQEST_VARTINFO().mVarStoreId != EFI_VARSTORE_ID_INVALID) && (_GET_CURRQEST_VARTINFO().mIsBitVar)) { + LFlags &= EDKII_IFR_DISPLAY_BIT; LFlags |= (EDKII_IFR_NUMERIC_SIZE_BIT & (_GET_CURRQEST_VARSIZE())); _PCATCH(NObj.SetFlagsForBitField (HFlags, LFlags, IsDisplaySpecified), LineNum); } @@ -3105,6 +3106,8 @@ vfrOneofFlagsField [CIfrOneOf & OObj, UINT32 LineNum] : } _PCATCH(OObj.SetFlags (HFlags, LFlags), LineNum); } else if (_GET_CURRQEST_VARTINFO().mVarStoreId != EFI_VARSTORE_ID_INVALID) { + LFlags &= EDKII_IFR_DISPLAY_BIT; + LFlags |= (EDKII_IFR_NUMERIC_SIZE_BIT & (_GET_CURRQEST_VARSIZE())); _PCATCH(OObj.SetFlagsForBitField (HFlags, LFlags), LineNum); } >> -- 2.32.0.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#84145): https://edk2.groups.io/g/devel/message/84145 Mute This Topic: https://groups.io/mt/87394305/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-