summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Universal/DriverSampleDxe/Vfr.vfr
diff options
context:
space:
mode:
Diffstat (limited to 'MdeModulePkg/Universal/DriverSampleDxe/Vfr.vfr')
-rw-r--r--MdeModulePkg/Universal/DriverSampleDxe/Vfr.vfr97
1 files changed, 60 insertions, 37 deletions
diff --git a/MdeModulePkg/Universal/DriverSampleDxe/Vfr.vfr b/MdeModulePkg/Universal/DriverSampleDxe/Vfr.vfr
index b248e7334d..01c76345b4 100644
--- a/MdeModulePkg/Universal/DriverSampleDxe/Vfr.vfr
+++ b/MdeModulePkg/Universal/DriverSampleDxe/Vfr.vfr
@@ -67,23 +67,11 @@ formset
// VfrCompile -l --no-pre-processing --output-directory ${d_path} $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iii
//
- //
- // Define a Default Storage for Manufacturing Defauls. Attribut = 1 (EFI_HII_DEFAULT_CLASS_MANUFACTURING).
- // Only if this Default Storage is defined, CHECKBOX_DEFAULT_MFG can be used for CheckBox.
- //
- defaultstore MfgDefault, prompt = STRING_TOKEN (STR_DEFAULTSTORE_MFG), attribute = 1;
-
- //
- // Define a Safe Deafult Storage. Attribute = 2 (EFI_HII_DEFAULT_CLASS_SAFE) as an example.
- // It is not referenced.
- //
- defaultstore SafeDefault, prompt = STRING_TOKEN (STR_DEFAULTSTORE_SAFE), attribute = 2;
-
- //
+ //
// Define a Buffer Storage (EFI_IFR_VARSTORE)
//
varstore DRIVER_SAMPLE_CONFIGURATION, // This is the data structure type
- varid = 0x1234, // Optional VarStore ID
+ varid = CONFIGURATION_VARSTORE_ID, // Optional VarStore ID
name = MyIfrNVData, // Define referenced name in vfr
guid = FORMSET_GUID; // GUID of this buffer storage
@@ -103,6 +91,14 @@ formset
varsize = 1, // Size of the EFI variable
guid = FORMSET_GUID; // EFI variable GUID
+ defaultstore MyStandardDefault,
+ prompt = STRING_TOKEN(STR_STANDARD_DEFAULT_PROMPT),
+ attribute = 0x0000; // Default ID: 0000 standard default
+
+ defaultstore MyManufactureDefault,
+ prompt = STRING_TOKEN(STR_MANUFACTURE_DEFAULT_PROMPT),
+ attribute = 0x0001; // Default ID: 0001 manufacture default
+
//
// Define a Form (EFI_IFR_FORM)
//
@@ -121,11 +117,14 @@ formset
text = STRING_TOKEN(STR_CPU_STRING), // Prompt string
text = STRING_TOKEN(STR_CPU_STRING2); // TextTwo
+ //
+ // Define action button (EFI_IFR_ACTION)
+ //
text
help = STRING_TOKEN(STR_EXIT_TEXT),
text = STRING_TOKEN(STR_EXIT_TEXT),
text = STRING_TOKEN(STR_EXIT_TEXT),
- flags = INTERACTIVE,
+ flags = INTERACTIVE, // VfrCompiler will generate opcode EFI_IFR_ACTION for Text marked as INTERACTIVE
key = 0x1237;
text
@@ -138,9 +137,10 @@ formset
//
// Define oneof (EFI_IFR_ONE_OF)
//
- oneof varid = MyIfrNVData.SuppressGrayOutSomething, // Use "DataStructure.Member" to reference Buffer Storage
- prompt = STRING_TOKEN(STR_ONE_OF_PROMPT),
- help = STRING_TOKEN(STR_ONE_OF_HELP),
+ oneof name = MyOneOf, // Define reference name for Question
+ varid = MyIfrNVData.SuppressGrayOutSomething, // Use "DataStructure.Member" to reference Buffer Storage
+ prompt = STRING_TOKEN(STR_ONE_OF_PROMPT),
+ help = STRING_TOKEN(STR_ONE_OF_HELP),
//
// Define an option (EFI_IFR_ONE_OF_OPTION)
//
@@ -160,7 +160,7 @@ formset
endoneof;
grayoutif ideqval MyIfrNVData.SuppressGrayOutSomething == 0x1;
- suppressif ideqval MyIfrNVData.SuppressGrayOutSomething == 0x0;
+ suppressif questionref(MyOneOf) == 0x0;
checkbox varid = MyIfrNVData.ChooseToActivateNuclearWeaponry,
prompt = STRING_TOKEN(STR_CHECK_BOX_PROMPT),
@@ -199,7 +199,7 @@ formset
option text = STRING_TOKEN(STR_BOOT_OPTION1), value = 1, flags = RESET_REQUIRED;
option text = STRING_TOKEN(STR_BOOT_OPTION3), value = 3, flags = RESET_REQUIRED;
suppressif ideqval MyIfrNVData.BootOrderLarge == 0;
- option text = STRING_TOKEN(STR_BOOT_OPTION4), value = 4, flags = 0;
+ option text = STRING_TOKEN(STR_BOOT_OPTION4), value = 4, flags = RESET_REQUIRED;
endif
endlist;
@@ -290,7 +290,8 @@ formset
maximum = 0xf0,
step = 0, // Stepping of 0 equates to a manual entering
// of a value, otherwise it will be adjusted by "+"/"-"
- default = 20,
+ default = 21, // defaultstore could be used to specify the default type
+ // If no defaultstore is specified, it implies Standard Default
endnumeric;
@@ -300,7 +301,7 @@ formset
minimum = 0,
maximum = 0xf0,
step = 0,
- default = 20,
+ default = 21,
inconsistentif prompt = STRING_TOKEN(STR_ERROR_POPUP),
ideqval MyIfrNVData.HowOldAreYouInYearsManual == 99
@@ -322,16 +323,6 @@ formset
endnumeric;
- numeric varid = MyIfrNVData2.Field8, // Reference of MyIfrNVData2 storage
- prompt = STRING_TOKEN(STR_MYIFRNVDATA2_HEX_PROMPT),
- help = STRING_TOKEN(STR_MYIFRNVDATA2_HEX_HELP),
- flags = DISPLAY_UINT_HEX, // Display in HEX format (if not specified, default is in decimal format)
- minimum = 0,
- maximum = 250,
- default = 175,
-
- endnumeric;
-
label LABEL_1_VALUE;
label LABEL_2_VALUE;
@@ -342,10 +333,23 @@ formset
minimum = 0,
maximum = 243,
step = 1,
- default = 18,
-
+ default = 18, defaultstore = MyStandardDefault, // This is standard default value
+ default = 19, defaultstore = MyManufactureDefault, // This is manufacture default value
+
endnumeric;
endif;
+
+ resetbutton
+ defaultstore = MyStandardDefault,
+ prompt = STRING_TOKEN(STR_STANDARD_DEFAULT_PROMPT),
+ help = STRING_TOKEN(STR_STANDARD_DEFAULT_HELP),
+ endresetbutton;
+
+ resetbutton
+ defaultstore = MyManufactureDefault,
+ prompt = STRING_TOKEN(STR_MANUFACTURE_DEFAULT_PROMPT),
+ help = STRING_TOKEN(STR_MANUFACTURE_DEFAULT_HELP),
+ endresetbutton;
//
// Non-interactive password, validate by Setup Browser
@@ -354,7 +358,7 @@ formset
prompt = STRING_TOKEN(STR_PASSWORD_PROMPT),
help = STRING_TOKEN(STR_PASSWORD_HELP),
minsize = 6,
- maxsize = 20, // new opcode
+ maxsize = 20,
endpassword;
string varid = MyIfrNVData.PasswordClearText,
@@ -373,7 +377,7 @@ formset
flags = INTERACTIVE,
key = 0x2000,
minsize = 6,
- maxsize = 20, // new opcode
+ maxsize = 20,
endpassword;
goto 2,
@@ -493,12 +497,31 @@ formset
form formid = 3, title = STRING_TOKEN(STR_FORM3_TITLE); // note formid is a variable (for readability) (UINT16) - also added Form to the line to signify the Op-Code
- grayoutif ideqval MyIfrNVData.SuppressGrayOutSomething == 0x1;
+ suppressif ideqval MyEfiVar == 111;
text
help = STRING_TOKEN(STR_TEXT_HELP),
text = STRING_TOKEN(STR_TEXT_TEXT_1);
endif;
+ goto 1,
+ prompt = STRING_TOKEN(STR_GOTO_FORM1), //MainSetupPage
+ help = STRING_TOKEN(STR_GOTO_HELP);
+
+ numeric varid = MyIfrNVData.DynamicRefresh,
+ prompt = STRING_TOKEN(STR_NUMERIC_MANUAL_PROMPT),
+ help = STRING_TOKEN(STR_NUMERIC_HELP0),
+ flags = INTERACTIVE,
+ key = 0x5678,
+ minimum = 0,
+ maximum = 0xff,
+ step = 0,
+ default = 0,
+ refresh interval = 3 // Refresh interval in seconds
+ endnumeric;
+
+ label 0x2234;
+ label LABEL_END;
+
endform;
form formid = 4, title = STRING_TOKEN(STR_FORM3_TITLE);