mirror of https://github.com/acidanthera/audk.git
Update HiiDataBase and UefiHiiLib to support Name/Value varstore.
Signed-off-by: Eric Dong <eric.dong@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14451 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
3aee9940c9
commit
82e8c1380f
File diff suppressed because it is too large
Load Diff
|
@ -1794,6 +1794,7 @@ DriverSampleInit (
|
||||||
DRIVER_SAMPLE_CONFIGURATION *Configuration;
|
DRIVER_SAMPLE_CONFIGURATION *Configuration;
|
||||||
BOOLEAN ActionFlag;
|
BOOLEAN ActionFlag;
|
||||||
EFI_STRING ConfigRequestHdr;
|
EFI_STRING ConfigRequestHdr;
|
||||||
|
EFI_STRING NameRequestHdr;
|
||||||
MY_EFI_VARSTORE_DATA *VarStoreConfig;
|
MY_EFI_VARSTORE_DATA *VarStoreConfig;
|
||||||
EFI_INPUT_KEY HotKey;
|
EFI_INPUT_KEY HotKey;
|
||||||
EFI_FORM_BROWSER_EXTENSION_PROTOCOL *FormBrowserEx;
|
EFI_FORM_BROWSER_EXTENSION_PROTOCOL *FormBrowserEx;
|
||||||
|
@ -1973,6 +1974,9 @@ DriverSampleInit (
|
||||||
ConfigRequestHdr = HiiConstructConfigHdr (&gDriverSampleFormSetGuid, VariableName, DriverHandle[0]);
|
ConfigRequestHdr = HiiConstructConfigHdr (&gDriverSampleFormSetGuid, VariableName, DriverHandle[0]);
|
||||||
ASSERT (ConfigRequestHdr != NULL);
|
ASSERT (ConfigRequestHdr != NULL);
|
||||||
|
|
||||||
|
NameRequestHdr = HiiConstructConfigHdr (&gDriverSampleFormSetGuid, NULL, DriverHandle[0]);
|
||||||
|
ASSERT (NameRequestHdr != NULL);
|
||||||
|
|
||||||
BufferSize = sizeof (DRIVER_SAMPLE_CONFIGURATION);
|
BufferSize = sizeof (DRIVER_SAMPLE_CONFIGURATION);
|
||||||
Status = gRT->GetVariable (VariableName, &gDriverSampleFormSetGuid, NULL, &BufferSize, Configuration);
|
Status = gRT->GetVariable (VariableName, &gDriverSampleFormSetGuid, NULL, &BufferSize, Configuration);
|
||||||
if (EFI_ERROR (Status)) {
|
if (EFI_ERROR (Status)) {
|
||||||
|
@ -1991,12 +1995,18 @@ DriverSampleInit (
|
||||||
// EFI variable for NV config doesn't exit, we should build this variable
|
// EFI variable for NV config doesn't exit, we should build this variable
|
||||||
// based on default values stored in IFR
|
// based on default values stored in IFR
|
||||||
//
|
//
|
||||||
|
ActionFlag = HiiSetToDefaults (NameRequestHdr, EFI_HII_DEFAULT_CLASS_STANDARD);
|
||||||
|
ASSERT (ActionFlag);
|
||||||
|
|
||||||
ActionFlag = HiiSetToDefaults (ConfigRequestHdr, EFI_HII_DEFAULT_CLASS_STANDARD);
|
ActionFlag = HiiSetToDefaults (ConfigRequestHdr, EFI_HII_DEFAULT_CLASS_STANDARD);
|
||||||
ASSERT (ActionFlag);
|
ASSERT (ActionFlag);
|
||||||
} else {
|
} else {
|
||||||
//
|
//
|
||||||
// EFI variable does exist and Validate Current Setting
|
// EFI variable does exist and Validate Current Setting
|
||||||
//
|
//
|
||||||
|
ActionFlag = HiiValidateSettings (NameRequestHdr);
|
||||||
|
ASSERT (ActionFlag);
|
||||||
|
|
||||||
ActionFlag = HiiValidateSettings (ConfigRequestHdr);
|
ActionFlag = HiiValidateSettings (ConfigRequestHdr);
|
||||||
ASSERT (ActionFlag);
|
ASSERT (ActionFlag);
|
||||||
}
|
}
|
||||||
|
|
|
@ -359,6 +359,8 @@ formset
|
||||||
maximum = 0xff,
|
maximum = 0xff,
|
||||||
step = 0,
|
step = 0,
|
||||||
locked,
|
locked,
|
||||||
|
default = 16, defaultstore = MyStandardDefault, // This is standard default value
|
||||||
|
default = 17, defaultstore = MyManufactureDefault, // This is manufacture default value
|
||||||
endnumeric;
|
endnumeric;
|
||||||
|
|
||||||
numeric varid = MyNameValueVar[1], // This numeric take NameValueVar1 as storage
|
numeric varid = MyNameValueVar[1], // This numeric take NameValueVar1 as storage
|
||||||
|
@ -368,6 +370,8 @@ formset
|
||||||
minimum = 0,
|
minimum = 0,
|
||||||
maximum = 0xffff,
|
maximum = 0xffff,
|
||||||
step = 0,
|
step = 0,
|
||||||
|
default = 18, defaultstore = MyStandardDefault, // This is standard default value
|
||||||
|
default = 19, defaultstore = MyManufactureDefault, // This is manufacture default value
|
||||||
endnumeric;
|
endnumeric;
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -67,6 +67,7 @@ typedef struct {
|
||||||
CHAR16 *Name;
|
CHAR16 *Name;
|
||||||
EFI_VARSTORE_ID VarStoreId;
|
EFI_VARSTORE_ID VarStoreId;
|
||||||
UINT16 Size;
|
UINT16 Size;
|
||||||
|
UINT8 Type;
|
||||||
LIST_ENTRY BlockEntry; // Link to its Block array
|
LIST_ENTRY BlockEntry; // Link to its Block array
|
||||||
} IFR_VARSTORAGE_DATA;
|
} IFR_VARSTORAGE_DATA;
|
||||||
|
|
||||||
|
@ -78,6 +79,7 @@ typedef struct {
|
||||||
UINT8 OpCode;
|
UINT8 OpCode;
|
||||||
UINT8 Scope;
|
UINT8 Scope;
|
||||||
LIST_ENTRY DefaultValueEntry; // Link to its default value array
|
LIST_ENTRY DefaultValueEntry; // Link to its default value array
|
||||||
|
CHAR16 *Name;
|
||||||
} IFR_BLOCK_DATA;
|
} IFR_BLOCK_DATA;
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -105,6 +107,7 @@ typedef struct {
|
||||||
#define EFI_HII_VARSTORE_BUFFER 0
|
#define EFI_HII_VARSTORE_BUFFER 0
|
||||||
#define EFI_HII_VARSTORE_NAME_VALUE 1
|
#define EFI_HII_VARSTORE_NAME_VALUE 1
|
||||||
#define EFI_HII_VARSTORE_EFI_VARIABLE 2
|
#define EFI_HII_VARSTORE_EFI_VARIABLE 2
|
||||||
|
#define EFI_HII_VARSTORE_EFI_VARIABLE_BUFFER 3
|
||||||
|
|
||||||
#define HII_FORMSET_STORAGE_SIGNATURE SIGNATURE_32 ('H', 'S', 'T', 'G')
|
#define HII_FORMSET_STORAGE_SIGNATURE SIGNATURE_32 ('H', 'S', 'T', 'G')
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|
Loading…
Reference in New Issue