BaseTool/VfrCompiler: Support Bit fields in EFI/Buffer VarStore
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=545 Enhance VfrCompiler to parse following case: 1. EFI/Buffer VarStore can contain bit fields in their structure. 2. For question Oneof/Checkbox/numeric, their storage can be bit fields of an EFI VarStore/Buffer VarStore. Cc: Eric Dong <eric.dong@intel.com> Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Eric Dong <eric.dong@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
EDK II specific HII relative definition.
|
||||
|
||||
Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials are licensed and made available
|
||||
under the terms and conditions of the BSD License which accompanies this
|
||||
@ -212,10 +212,28 @@ typedef struct _EFI_IFR_GUID_VAREQNAME {
|
||||
UINT16 NameId;
|
||||
} EFI_IFR_GUID_VAREQNAME;
|
||||
|
||||
///
|
||||
/// EDKII implementation extension GUID, used to indaicate there are bit fields in the varstore.
|
||||
///
|
||||
#define EDKII_IFR_BIT_VARSTORE_GUID \
|
||||
{ 0x82DDD68B, 0x9163, 0x4187, {0x9B, 0x27, 0x20, 0xA8, 0xFD, 0x60 ,0xA7, 0x1D}}
|
||||
|
||||
///
|
||||
/// EDKII implementation extension flags, used to indaicate the disply style and bit width for bit filed storage.
|
||||
/// Two high bits for display style and the low six bits for bit width.
|
||||
///
|
||||
#define EDKII_IFR_DISPLAY_BIT 0xC0
|
||||
#define EDKII_IFR_DISPLAY_INT_DEC_BIT 0x00
|
||||
#define EDKII_IFR_DISPLAY_UINT_DEC_BIT 0x40
|
||||
#define EDKII_IFR_DISPLAY_UINT_HEX_BIT 0x80
|
||||
|
||||
#define EDKII_IFR_NUMERIC_SIZE_BIT 0x3F
|
||||
|
||||
#pragma pack()
|
||||
|
||||
extern EFI_GUID gEfiIfrTianoGuid;
|
||||
extern EFI_GUID gEfiIfrFrameworkGuid;
|
||||
extern EFI_GUID gEdkiiIfrBitVarStoreGuid;
|
||||
|
||||
#endif
|
||||
|
||||
|
Reference in New Issue
Block a user