varsize = 1, // Size of the EFI variable\r
guid = FORMSET_GUID; // EFI variable GUID\r
\r
+ //\r
+ // Define a Name/Value Storage (EFI_IFR_VARSTORE_NAME_VALUE)\r
+ //\r
+ namevaluevarstore MyNameValueVar, // Define storage reference name in vfr\r
+ name = STRING_TOKEN(STR_NAME_VALUE_VAR_NAME0), // Define Name list of this storage, refer it by MyNameValueVar[0]\r
+ name = STRING_TOKEN(STR_NAME_VALUE_VAR_NAME1), // Define Name list of this storage, refer it by MyNameValueVar[1]\r
+ name = STRING_TOKEN(STR_NAME_VALUE_VAR_NAME2), // Define Name list of this storage, refer it by MyNameValueVar[2]\r
+ guid = FORMSET_GUID; // GUID of this Name/Value storage\r
+\r
defaultstore MyStandardDefault,\r
prompt = STRING_TOKEN(STR_STANDARD_DEFAULT_PROMPT),\r
attribute = 0x0000; // Default ID: 0000 standard default\r
oneof varid = MyIfrNVData.BootOrderLarge,\r
prompt = STRING_TOKEN(STR_ONE_OF_PROMPT),\r
help = STRING_TOKEN(STR_ONE_OF_HELP),\r
- default value = cond (questionref(MyOneOf) == 0x0 ? 0 : 1),\r
+ default value = cond (pushthis == 0 ? 0 : cond ((questionref(MyOneOf) >> 0x4 & 0xF00) == 0x0 + 0x2 ? 0 : 1)),\r
option text = STRING_TOKEN(STR_BOOT_ORDER1), value = 0x0, flags = 0;\r
- option text = STRING_TOKEN(STR_BOOT_ORDER2), value = 0x1, flags = DEFAULT;\r
+ option text = STRING_TOKEN(STR_BOOT_ORDER2), value = 0x1, flags = 0;\r
endoneof;\r
\r
grayoutif ideqval MyIfrNVData.SuppressGrayOutSomething == 0x1;\r
\r
endif; // end suppressif\r
\r
- suppressif ideqval MyIfrNVData.SuppressGrayOutSomething == 0x2;\r
+ disableif ideqval MyIfrNVData.SuppressGrayOutSomething == 0x2;\r
orderedlist\r
varid = MyIfrNVData.OrderedList,\r
prompt = STRING_TOKEN(STR_TEST_OPCODE),\r
endnumeric;\r
\r
numeric varid = MyEfiVar, // Reference of EFI variable storage\r
+ questionid = 0x1111,\r
prompt = STRING_TOKEN(STR_TALL_HEX_PROMPT),\r
help = STRING_TOKEN(STR_NUMERIC_HELP1),\r
- flags = DISPLAY_UINT_HEX, // Display in HEX format (if not specified, default is in decimal format)\r
+ flags = DISPLAY_UINT_HEX | INTERACTIVE, // Display in HEX format (if not specified, default is in decimal format)\r
minimum = 0,\r
maximum = 250,\r
default = 175,\r
\r
endnumeric;\r
\r
+ //\r
+ // Define numeric using Name/Value Storage\r
+ //\r
+ numeric varid = MyNameValueVar[0], // This numeric take NameValueVar0 as storage\r
+ prompt = STRING_TOKEN(STR_NAME_VALUE_VAR_NAME0),\r
+ help = STRING_TOKEN(STR_NAME_VALUE_VAR_NAME0_HELP),\r
+ //\r
+ // Size should be defined for numeric when use Name/Value storage\r
+ // Valid value for numerice size are: NUMERIC_SIZE_1, NUMERIC_SIZE_2, NUMERIC_SIZE_4 and NUMERIC_SIZE_8\r
+ //\r
+ flags = NUMERIC_SIZE_1, // Size of this numeric is 1 byte\r
+ minimum = 0,\r
+ maximum = 0xff,\r
+ step = 0,\r
+ endnumeric;\r
+\r
+ numeric varid = MyNameValueVar[1], // This numeric take NameValueVar1 as storage\r
+ prompt = STRING_TOKEN(STR_NAME_VALUE_VAR_NAME1),\r
+ help = STRING_TOKEN(STR_NAME_VALUE_VAR_NAME1_HELP),\r
+ flags = NUMERIC_SIZE_2, // Size of this numeric is 2 bytes\r
+ minimum = 0,\r
+ maximum = 0xffff,\r
+ step = 0,\r
+ endnumeric;\r
+\r
+ //\r
+ // Define string using Name/Value Storage\r
+ //\r
+ string varid = MyNameValueVar[2], // This string take NameValueVar2 as storage\r
+ prompt = STRING_TOKEN(STR_NAME_VALUE_VAR_NAME2),\r
+ help = STRING_TOKEN(STR_NAME_VALUE_VAR_NAME2_HELP),\r
+ minsize = 2,\r
+ maxsize = 0x14,\r
+ endstring;\r
+\r
label LABEL_1_VALUE;\r
label LABEL_2_VALUE;\r
\r
\r
endform;\r
\r
- form formid = 2, // SecondSetupPage,\r
- title = STRING_TOKEN(STR_FORM2_TITLE); // note formid is a variable (for readability) (UINT16) - also added Form to the line to signify the Op-Code\r
-\r
-\r
- date year varid = Date.Year, // Note that it is a member of NULL, so the RTC will be the system resource to retrieve and save from\r
- prompt = STRING_TOKEN(STR_DATE_PROMPT),\r
- help = STRING_TOKEN(STR_DATE_HELP),\r
- minimum = 1998,\r
- maximum = 2099,\r
- step = 1,\r
- default = 2004,\r
-\r
- month varid = Date.Month, // Note that it is a member of NULL, so the RTC will be the system resource to retrieve and save from\r
- prompt = STRING_TOKEN(STR_DATE_PROMPT),\r
- help = STRING_TOKEN(STR_DATE_HELP),\r
- minimum = 1,\r
- maximum = 12,\r
- step = 1,\r
- default = 1,\r
-\r
- day varid = Date.Day, // Note that it is a member of NULL, so the RTC will be the system resource to retrieve and save from\r
- prompt = STRING_TOKEN(STR_DATE_PROMPT),\r
- help = STRING_TOKEN(STR_DATE_HELP),\r
- minimum = 1,\r
- maximum = 31,\r
- step = 0x1,\r
- default = 1,\r
-\r
- inconsistentif prompt = STRING_TOKEN(STR_ERROR_POPUP),\r
- ideqval Date.Day == 31\r
- AND\r
- ideqvallist Date.Month == 2 4 6 9 11\r
- endif\r
-\r
- //\r
- // If the day is 30 AND month is 2\r
- //\r
- inconsistentif prompt = STRING_TOKEN(STR_ERROR_POPUP),\r
- ideqval Date.Day == 30\r
- AND\r
- ideqval Date.Month == 2\r
- endif\r
-\r
- //\r
- // If the day is 29 AND month is 2 AND it year is NOT a leapyear\r
- //\r
- inconsistentif prompt = STRING_TOKEN(STR_ERROR_POPUP),\r
- ideqval Date.Day == 0x1D\r
- AND\r
- ideqval Date.Month == 2\r
- AND\r
- NOT\r
- ideqvallist Date.Year == 2004 2008 20012 20016 2020 2024 2028 2032 2036\r
- endif\r
+ suppressif ideqval MyIfrNVData.BootOrderLarge == 0;\r
+ form formid = 2, // SecondSetupPage,\r
+ title = STRING_TOKEN(STR_FORM2_TITLE); // note formid is a variable (for readability) (UINT16) - also added Form to the line to signify the Op-Code\r
+\r
+\r
+ date year varid = Date.Year, // Note that it is a member of NULL, so the RTC will be the system resource to retrieve and save from\r
+ prompt = STRING_TOKEN(STR_DATE_PROMPT),\r
+ help = STRING_TOKEN(STR_DATE_HELP),\r
+ minimum = 1998,\r
+ maximum = 2099,\r
+ step = 1,\r
+ default = 2004,\r
+\r
+ month varid = Date.Month, // Note that it is a member of NULL, so the RTC will be the system resource to retrieve and save from\r
+ prompt = STRING_TOKEN(STR_DATE_PROMPT),\r
+ help = STRING_TOKEN(STR_DATE_HELP),\r
+ minimum = 1,\r
+ maximum = 12,\r
+ step = 1,\r
+ default = 1,\r
+\r
+ day varid = Date.Day, // Note that it is a member of NULL, so the RTC will be the system resource to retrieve and save from\r
+ prompt = STRING_TOKEN(STR_DATE_PROMPT),\r
+ help = STRING_TOKEN(STR_DATE_HELP),\r
+ minimum = 1,\r
+ maximum = 31,\r
+ step = 0x1,\r
+ default = 1,\r
+\r
+ inconsistentif prompt = STRING_TOKEN(STR_ERROR_POPUP),\r
+ ideqval Date.Day == 31\r
+ AND\r
+ ideqvallist Date.Month == 2 4 6 9 11\r
+ endif\r
+\r
+ //\r
+ // If the day is 30 AND month is 2\r
+ //\r
+ inconsistentif prompt = STRING_TOKEN(STR_ERROR_POPUP),\r
+ ideqval Date.Day == 30\r
+ AND\r
+ ideqval Date.Month == 2\r
+ endif\r
+\r
+ //\r
+ // If the day is 29 AND month is 2 AND it year is NOT a leapyear\r
+ //\r
+ inconsistentif prompt = STRING_TOKEN(STR_ERROR_POPUP),\r
+ ideqval Date.Day == 0x1D\r
+ AND\r
+ ideqval Date.Month == 2\r
+ AND\r
+ NOT\r
+ ideqvallist Date.Year == 2004 2008 20012 20016 2020 2024 2028 2032 2036\r
+ endif\r
+\r
+ enddate;\r
+\r
+ time hour varid = Time.Hours, // Note that it is a member of NULL, so the RTC will be the system resource to retrieve and save from\r
+ prompt = STRING_TOKEN(STR_TIME_PROMPT),\r
+ help = STRING_TOKEN(STR_TIME_HELP),\r
+ minimum = 0,\r
+ maximum = 23,\r
+ step = 1,\r
+ default = 0,\r
+\r
+ minute varid = Time.Minutes, // Note that it is a member of NULL, so the RTC will be the system resource to retrieve and save from\r
+ prompt = STRING_TOKEN(STR_TIME_PROMPT),\r
+ help = STRING_TOKEN(STR_TIME_HELP),\r
+ minimum = 0,\r
+ maximum = 59,\r
+ step = 1,\r
+ default = 0,\r
+\r
+ second varid = Time.Seconds, // Note that it is a member of NULL, so the RTC will be the system resource to retrieve and save from\r
+ prompt = STRING_TOKEN(STR_TIME_PROMPT),\r
+ help = STRING_TOKEN(STR_TIME_HELP),\r
+ minimum = 0,\r
+ maximum = 59,\r
+ step = 1,\r
+ default = 0,\r
+\r
+ endtime;\r
+\r
+ checkbox varid = MyIfrNVData.ChooseToActivateNuclearWeaponry,\r
+ prompt = STRING_TOKEN(STR_CHECK_BOX_PROMPT),\r
+ help = STRING_TOKEN(STR_CHECK_BOX_HELP),\r
+ flags = CHECKBOX_DEFAULT,\r
+ key = 0,\r
+ endcheckbox;\r
\r
- enddate;\r
-\r
- time hour varid = Time.Hours, // Note that it is a member of NULL, so the RTC will be the system resource to retrieve and save from\r
- prompt = STRING_TOKEN(STR_TIME_PROMPT),\r
- help = STRING_TOKEN(STR_TIME_HELP),\r
- minimum = 0,\r
- maximum = 23,\r
- step = 1,\r
- default = 0,\r
-\r
- minute varid = Time.Minutes, // Note that it is a member of NULL, so the RTC will be the system resource to retrieve and save from\r
- prompt = STRING_TOKEN(STR_TIME_PROMPT),\r
- help = STRING_TOKEN(STR_TIME_HELP),\r
- minimum = 0,\r
- maximum = 59,\r
- step = 1,\r
- default = 0,\r
-\r
- second varid = Time.Seconds, // Note that it is a member of NULL, so the RTC will be the system resource to retrieve and save from\r
- prompt = STRING_TOKEN(STR_TIME_PROMPT),\r
- help = STRING_TOKEN(STR_TIME_HELP),\r
- minimum = 0,\r
- maximum = 59,\r
- step = 1,\r
- default = 0,\r
-\r
- endtime;\r
-\r
- checkbox varid = MyIfrNVData.ChooseToActivateNuclearWeaponry,\r
- prompt = STRING_TOKEN(STR_CHECK_BOX_PROMPT),\r
- help = STRING_TOKEN(STR_CHECK_BOX_HELP),\r
- flags = CHECKBOX_DEFAULT,\r
- key = 0,\r
- endcheckbox;\r
-\r
- text\r
- help = STRING_TOKEN(STR_TEXT_HELP),\r
- text = STRING_TOKEN(STR_TEXT_TEXT_1);\r
+ text\r
+ help = STRING_TOKEN(STR_TEXT_HELP),\r
+ text = STRING_TOKEN(STR_TEXT_TEXT_1);\r
\r
- text\r
- help = STRING_TOKEN(STR_TEXT_HELP),\r
- text = STRING_TOKEN(STR_TEXT_TEXT_1),\r
- text = STRING_TOKEN(STR_TEXT_TEXT_2);\r
+ text\r
+ help = STRING_TOKEN(STR_TEXT_HELP),\r
+ text = STRING_TOKEN(STR_TEXT_TEXT_1),\r
+ text = STRING_TOKEN(STR_TEXT_TEXT_2);\r
\r
- goto 1,\r
- prompt = STRING_TOKEN(STR_GOTO_FORM1), //MainSetupPage // this too has no end-op and basically it's a jump to a form ONLY\r
- help = STRING_TOKEN(STR_GOTO_HELP);\r
+ goto 1,\r
+ prompt = STRING_TOKEN(STR_GOTO_FORM1), //MainSetupPage // this too has no end-op and basically it's a jump to a form ONLY\r
+ help = STRING_TOKEN(STR_GOTO_HELP);\r
\r
- endform;\r
+ endform;\r
+ endif;\r
\r
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\r
\r