//\r
// Sample Setup formset.\r
//\r
-// Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR>\r
+// Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>\r
// This program and the accompanying materials\r
// are licensed and made available under the terms and conditions of the BSD License\r
// which accompanies this distribution. The full text of the license may be found at\r
//**/\r
\r
\r
+#include <Uefi/UefiMultiPhase.h>\r
#include "NVDataStruc.h"\r
\r
//\r
#define EFI_FRONT_PAGE_SUBCLASS 0x02\r
#define EFI_SINGLE_USE_SUBCLASS 0x03\r
\r
-//\r
-// EFI Variable attributes\r
-//\r
-#define EFI_VARIABLE_NON_VOLATILE 0x00000001\r
-#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002\r
-#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004\r
-#define EFI_VARIABLE_READ_ONLY 0x00000008\r
-\r
#define EFI_USER_INFO_ACCESS_SETUP_ADMIN_GUID \\r
{ 0x85b75607, 0xf7ce, 0x471e, { 0xb7, 0xe4, 0x2a, 0xea, 0x5f, 0x72, 0x32, 0xee } }\r
\r
title = STRING_TOKEN(STR_FORM_SET_TITLE),\r
help = STRING_TOKEN(STR_FORM_SET_TITLE_HELP),\r
classguid = EFI_HII_PLATFORM_SETUP_FORMSET_GUID,\r
- \r
+\r
//\r
- // Notes: VfrCompiler will insert a Standard Default Storage declaration \r
+ // Notes: VfrCompiler will insert a Standard Default Storage declaration\r
// after the formset declaration. >00000040: 5C 06 00 00 00 00.\r
// So we don't need to declare the Standard Default.\r
// Please check the vfr.lst file for details.\r
// To enable list file for VFR, add "-l" to VfrCompile <Command> in [Build.Visual-Form-Representation-File] as follows:\r
// VfrCompile -l --no-pre-processing --output-directory ${d_path} $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.iii\r
//\r
- \r
+\r
//\r
// Define a Buffer Storage (EFI_IFR_VARSTORE)\r
//\r
// Define a EFI variable Storage (EFI_IFR_VARSTORE_EFI)\r
//\r
efivarstore MY_EFI_VARSTORE_DATA,\r
- attribute = EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_NON_VOLATILE, // EFI variable attribures \r
+ attribute = EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_NON_VOLATILE, // EFI variable attribures\r
name = MyEfiVar,\r
guid = DRIVER_SAMPLE_FORMSET_GUID;\r
\r
+ //\r
+ // Define a Buffer Storage (EFI_IFR_VARSTORE)\r
+ //\r
+ efivarstore MY_EFI_BITS_VARSTORE_DATA, // This is the data structure type\r
+ attribute = EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_NON_VOLATILE, // EFI variable attribures\r
+ name = MyEfiBitVar, // Define referenced name in vfr\r
+ guid = DRIVER_SAMPLE_FORMSET_GUID; // GUID of this buffer storage\r
+\r
+ efivarstore MY_EFI_UNION_DATA,\r
+ attribute = EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_NON_VOLATILE, // EFI variable attribures\r
+ name = MyEfiUnionVar,\r
+ guid = DRIVER_SAMPLE_FORMSET_GUID;\r
+\r
//\r
// Define a Name/Value Storage (EFI_IFR_VARSTORE_NAME_VALUE)\r
//\r
step = 1,\r
default = 18, defaultstore = MyStandardDefault, // This is standard default value\r
default = 19, defaultstore = MyManufactureDefault, // This is manufacture default value\r
- \r
+\r
endnumeric;\r
endif;\r
\r
questionid = 0x1239,\r
prompt = STRING_TOKEN(STR_DEFAULT_VALUE_FROM_ACCESS_PROMPT),\r
help = STRING_TOKEN(STR_DEFAULT_VALUE_FROM_ACCESS_HELP),\r
- flags = DISPLAY_UINT_HEX | INTERACTIVE, \r
+ flags = DISPLAY_UINT_HEX | INTERACTIVE,\r
minimum = 0,\r
maximum = 255,\r
step = 1,\r
questionid = 0x1240,\r
prompt = STRING_TOKEN(STR_DEFAULT_VALUE_FROM_CALLBACK_PROMPT),\r
help = STRING_TOKEN(STR_DEFAULT_VALUE_FROM_CALLBACK_HELP),\r
- flags = DISPLAY_UINT_HEX | INTERACTIVE, \r
+ flags = DISPLAY_UINT_HEX | INTERACTIVE,\r
minimum = 0,\r
maximum = 255,\r
step = 1,\r
default = 18,\r
endnumeric;\r
- \r
+\r
+ orderedlist\r
+ varid = MyIfrNVData.GetDefaultValueFromCallBackForOrderedList,\r
+ questionid = 0x1252,\r
+ prompt = STRING_TOKEN(STR_DEFAULT_VALUE_FROM_CALLBACK_PROMPT),\r
+ help = STRING_TOKEN(STR_DEFAULT_VALUE_FROM_CALLBACK_HELP),\r
+ flags = INTERACTIVE,\r
+ option text = STRING_TOKEN(STR_ONE_OF_TEXT1), value = 1, flags = 0;\r
+ option text = STRING_TOKEN(STR_ONE_OF_TEXT2), value = 2, flags = 0;\r
+ option text = STRING_TOKEN(STR_ONE_OF_TEXT3), value = 3, flags = 0;\r
+ endlist;\r
+\r
resetbutton\r
defaultstore = MyStandardDefault,\r
prompt = STRING_TOKEN(STR_STANDARD_DEFAULT_PROMPT),\r
help = STRING_TOKEN(STR_STANDARD_DEFAULT_HELP),\r
endresetbutton;\r
- \r
+\r
resetbutton\r
defaultstore = MyManufactureDefault,\r
prompt = STRING_TOKEN(STR_MANUFACTURE_DEFAULT_PROMPT),\r
help = STRING_TOKEN(STR_MANUFACTURE_DEFAULT_HELP),\r
endresetbutton;\r
\r
- //\r
- // Non-interactive password, validate by Setup Browser\r
- //\r
- password varid = MyIfrNVData.WhatIsThePassword,\r
- prompt = STRING_TOKEN(STR_PASSWORD_PROMPT),\r
- help = STRING_TOKEN(STR_PASSWORD_HELP),\r
- minsize = 6,\r
- maxsize = 20,\r
- endpassword;\r
-\r
- string varid = MyIfrNVData.PasswordClearText,\r
- prompt = STRING_TOKEN(STR_MY_STRING_PROMPT),\r
- help = STRING_TOKEN(STR_MY_STRING_HELP),\r
- minsize = 6,\r
- maxsize = 0x14,\r
- default = STRING_TOKEN(STR_MY_STRING_DEFAULT),\r
- endstring;\r
-\r
- //\r
- // Interactive password, validate via ConfigAccess.Callback()\r
- //\r
- password varid = MyIfrNVData.WhatIsThePassword2,\r
- prompt = STRING_TOKEN(STR_PASSWORD_CALLBACK_PROMPT),\r
- help = STRING_TOKEN(STR_PASSWORD_HELP),\r
- flags = INTERACTIVE,\r
- key = 0x2000,\r
- minsize = 6,\r
- maxsize = 20,\r
- endpassword;\r
-\r
//\r
// Sample use case for IFR Security op-code\r
//\r
help = STRING_TOKEN(STR_TEXT_SECRUITY_TEST_HELP),\r
text = STRING_TOKEN(STR_TEXT_SECRUITY_TEST_TEXT);\r
endif;\r
- \r
+\r
+ numeric varid = MyEfiVar.SubmittedCallback,\r
+ questionid = 0x1250,\r
+ prompt = STRING_TOKEN(STR_SUBMITTED_CALLBACK_TEST_PROMPT),\r
+ help = STRING_TOKEN(STR_SUBMITTED_CALLBACK_TEST_HELP),\r
+ flags = INTERACTIVE,\r
+ minimum = 0,\r
+ maximum = 255,\r
+ default = 18,\r
+ endnumeric;\r
+\r
+ text\r
+ help = STRING_TOKEN(STR_POPUP_TEST_HELP),\r
+ text = STRING_TOKEN(STR_POPUP_TEST_PROMPT),\r
+ flags = INTERACTIVE,\r
+ key = 0x1330;\r
+\r
goto 2,\r
prompt = STRING_TOKEN(STR_GOTO_FORM2), //SecondSetupPage // 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 5,\r
prompt = STRING_TOKEN(STR_GOTO_FORM5), //FifthSetupPage // this too has no end-op and basically it's a jump to a form ONLY\r
help = STRING_TOKEN(STR_GOTO_FORM5_HELP);\r
- \r
+\r
goto 6,\r
prompt = STRING_TOKEN(STR_GOTO_FORM6), //SixthSetupPage // 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
- goto \r
+ goto\r
formsetguid = DRIVER_SAMPLE_INVENTORY_GUID,\r
formid = 0x1,\r
question = 0x1,\r
prompt = STRING_TOKEN(STR_GOTO_ANOTHER_FORMSET),\r
help = STRING_TOKEN(STR_GOTO_ANOTHER_FORMSET_HELP);\r
\r
- guidop \r
+ guidop\r
guid = DRIVER_SAMPLE_FORMSET_GUID,\r
datatype = MY_EFI_VARSTORE_DATA,\r
- data.Field8 = 0x21, \r
+ data.Field8 = 0x21,\r
data.Field16 = 0x2121,\r
- data.OrderedList[0] = 0x21, \r
+ data.OrderedList[0] = 0x21,\r
endguidop;\r
\r
+ goto 7,\r
+ prompt = STRING_TOKEN(STR_GOTO_FORM7),\r
+ help = STRING_TOKEN(STR_GOTO_FORM7_HELP);\r
\r
endform;\r
\r
help = STRING_TOKEN(STR_TIME_HELP),\r
flags = STORAGE_TIME,\r
endtime;\r
- \r
- time \r
- name = MyTime, \r
- varid = MyIfrNVData.Time, \r
- prompt = STRING_TOKEN(STR_TIME_PROMPT), \r
- help = STRING_TOKEN(STR_TIME_PROMPT), \r
+\r
+ time\r
+ name = MyTime,\r
+ varid = MyIfrNVData.Time,\r
+ prompt = STRING_TOKEN(STR_TIME_PROMPT),\r
+ help = STRING_TOKEN(STR_TIME_PROMPT),\r
flags = STORAGE_NORMAL | SECOND_SUPPRESS,\r
- default = 15:33:33, \r
+ default = 15:33:33,\r
endtime;\r
- \r
+\r
checkbox varid = MyIfrNVData.ChooseToActivateNuclearWeaponry,\r
prompt = STRING_TOKEN(STR_CHECK_BOX_PROMPT),\r
help = STRING_TOKEN(STR_CHECK_BOX_HELP),\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
- goto \r
+ goto\r
varid = MyIfrNVData.RefData,\r
prompt = STRING_TOKEN(STR_GOTO_DYNAMIC3),\r
help = STRING_TOKEN(STR_GOTO_DYNAMIC3_HELP),\r
//\r
// Set the defult value, format is QuestionId; FormId; FormsetGuid; Device Path String Token\r
//\r
- default = 0;0;ZERO_GUID;STRING_TOKEN(STR_NULL_STRING), \r
+ default = 0;0;ZERO_GUID;STRING_TOKEN(STR_NULL_STRING),\r
; // goto opcode end flag.\r
\r
- goto \r
+ goto\r
prompt = STRING_TOKEN(STR_GOTO_DYNAMIC4),\r
help = STRING_TOKEN(STR_GOTO_DYNAMIC4_HELP),\r
flags = INTERACTIVE,\r
key = 0x1249;\r
- \r
+\r
endform;\r
endif;\r
\r
endnumeric;\r
\r
grayoutif match2 (stringref(STRING_TOKEN(STR_PATTERN)), stringref(STRING_TOKEN(STR_STRING)), PERL_GUID);\r
- numeric \r
+ numeric\r
varid = MyIfrNVData.Match2,\r
prompt = STRING_TOKEN(STR_MATCH2_PROMPT),\r
help = STRING_TOKEN(STR_MATCH2_HELP),\r
\r
endform;\r
\r
- formmap formid = 4, \r
- maptitle = STRING_TOKEN(STR_SAMPL_MAP_METHOD); \r
+ formmap formid = 4,\r
+ maptitle = STRING_TOKEN(STR_SAMPL_MAP_METHOD);\r
mapguid = DRIVER_SAMPLE_FORMSET_GUID;\r
- maptitle = STRING_TOKEN(STR_STANDARD_MAP_METHOD); \r
+ maptitle = STRING_TOKEN(STR_STANDARD_MAP_METHOD);\r
mapguid = EFI_HII_STANDARD_FORM_GUID;\r
\r
- oneof varid = MyIfrNVData.SerialPortNo, \r
+ oneof varid = MyIfrNVData.SerialPortNo,\r
prompt = STRING_TOKEN(STR_SERIAL_PORT),\r
help = STRING_TOKEN(STR_ONE_OF_HELP),\r
\r
read cond (get(MyIfrNVData.SerialPortStatus) != 0 ? 0 : cond ((get(MyIfrNVData.SerialPortIo) & 0xF00) >> 0x8 == get(MyIfrNVData.SerialPortIrq) - 1 ? UNDEFINED : map (get(MyIfrNVData.SerialPortIo) : 0x3f8,1; 0x2F8,2; 0x3E8,3; 0x2E8,4;)));\r
write set(MyIfrNVData.SerialPortStatus, pushthis != 0) AND set(MyIfrNVData.SerialPortIo, map (pushthis : 1,0x3F8; 2,0x2F8; 3,0x3E8; 4,0x2E8;)) AND set (MyIfrNVData.SerialPortIrq, map (pushthis: 1,4; 2,3; 3,4; 4,3;));\r
- \r
+\r
option text = STRING_TOKEN(STR_SERIAL_PORT_DISABLE), value = 0x0, flags = DEFAULT;\r
option text = STRING_TOKEN(STR_SERIAL_PORT1), value = 0x1, flags = 0;\r
option text = STRING_TOKEN(STR_SERIAL_PORT2), value = 0x2, flags = 0;\r
\r
grayoutif TRUE;\r
suppressif ideqval MyIfrNVData.SerialPortStatus == 0;\r
- oneof varid = MyIfrNVData.SerialPortIo, \r
+ oneof varid = MyIfrNVData.SerialPortIo,\r
prompt = STRING_TOKEN(STR_SERIAL_PORT_IO_ADDRESS),\r
help = STRING_TOKEN(STR_ONE_OF_HELP),\r
- \r
+\r
option text = STRING_TOKEN(STR_SERIAL_PORT1_IOADDR), value = 0x3F8, flags = DEFAULT;\r
option text = STRING_TOKEN(STR_SERIAL_PORT2_IOADDR), value = 0x2F8, flags = 0;\r
option text = STRING_TOKEN(STR_SERIAL_PORT3_IOADDR), value = 0x3E8, flags = 0;\r
\r
grayoutif TRUE;\r
suppressif ideqval MyIfrNVData.SerialPortStatus == 0;\r
- oneof varid = MyIfrNVData.SerialPortIrq, \r
+ oneof varid = MyIfrNVData.SerialPortIrq,\r
prompt = STRING_TOKEN(STR_SERIAL_PORT_IRQ),\r
help = STRING_TOKEN(STR_ONE_OF_HELP),\r
- \r
+\r
option text = STRING_TOKEN(STR_SERIAL_PORT13_IRQ), value = 0x4, flags = DEFAULT;\r
option text = STRING_TOKEN(STR_SERIAL_PORT24_IRQ), value = 0x3, flags = 0;\r
endoneof;\r
endform;\r
\r
form formid = 6, // Form to show the refresh guid group op-code\r
- title = STRING_TOKEN(STR_FORM6_TITLE); \r
+ title = STRING_TOKEN(STR_FORM6_TITLE);\r
\r
text\r
help = STRING_TOKEN(STR_TEXT_REFRESH_GUID),\r
\r
endform;\r
\r
+\r
+ form formid = 7, // Form to show the question refer to union and bit Varstore\r
+ title = STRING_TOKEN(STR_FORM7_TITLE);\r
+\r
+ subtitle text = STRING_TOKEN(STR_NEST_BIT_EFI_VARSTORE);\r
+\r
+ checkbox varid = MyEfiBitVar.BitsData.NestBitCheckbox,\r
+ prompt = STRING_TOKEN(STR_BIT_NEST_CHECK_BOX_PROMPT),\r
+ help = STRING_TOKEN(STR_BIT_NEST_CHECK_BOX_HELP),\r
+ flags = CHECKBOX_DEFAULT,\r
+ endcheckbox;\r
+\r
+ oneof varid = MyEfiBitVar.BitsData.NestBitOneof,\r
+ prompt = STRING_TOKEN(STR_ONE_OF_BIT_NEST_PROMPT),\r
+ help = STRING_TOKEN(STR_ONE_OF_BIT_NEST_HELP),\r
+ option text = STRING_TOKEN(STR_BOOT_ORDER1), value = 0, flags = MANUFACTURING;\r
+ option text = STRING_TOKEN(STR_BOOT_ORDER2), value = 1, flags = DEFAULT;\r
+ endoneof;\r
+\r
+ numeric varid = MyEfiBitVar.BitsData.NestBitNumeric,\r
+ questionid = 0x6666,\r
+ prompt = STRING_TOKEN(STR_BIT_NEST_NUMERIC_PROMPT),\r
+ help = STRING_TOKEN(STR_BIT_NEST_NUMERIC_DEFAULT_HELP),\r
+ flags = DISPLAY_UINT_HEX | INTERACTIVE,\r
+ minimum = 2,\r
+ maximum = 15,\r
+ step = 1,\r
+ endnumeric;\r
+\r
+ oneof varid = MyEfiBitVar.BitsData.NestByteField,\r
+ prompt = STRING_TOKEN(BYTE_QUESTION_NEST_BIT_PROMPT),\r
+ help = STRING_TOKEN(BYTE_QUESTION_NEST_BIT_HELP),\r
+ option text = STRING_TOKEN(STR_BOOT_ORDER1), value = 0, flags = MANUFACTURING;\r
+ option text = STRING_TOKEN(STR_BOOT_ORDER2), value = 1, flags = DEFAULT;\r
+ endoneof;\r
+\r
+ subtitle text = STRING_TOKEN(STR_SUBTITLE_TEXT2);\r
+ subtitle text = STRING_TOKEN(STR_BIT_EFI_VARSTORE);\r
+\r
+ checkbox varid = MyEfiBitVar.EfiBitCheckbox,\r
+ prompt = STRING_TOKEN(STR_BIT_CHECK_BOX_PROMPT),\r
+ help = STRING_TOKEN(STR_BIT_CHECK_BOX_HELP),\r
+ flags = CHECKBOX_DEFAULT,\r
+ endcheckbox;\r
+\r
+ grayoutif ideqval MyEfiBitVar.EfiBitGrayoutTest == 0;\r
+ numeric varid = MyEfiBitVar.EfiBitNumeric,\r
+ prompt = STRING_TOKEN(STR_BIT_NUMERIC_PROMPT),\r
+ help = STRING_TOKEN(STR_BIT_NUMERIC_HELP),\r
+ minimum = 0,\r
+ maximum = 7,\r
+ step = 0,\r
+ default = 4, defaultstore = MyStandardDefault,\r
+ default = 5, defaultstore = MyManufactureDefault,\r
+ endnumeric;\r
+ endif;\r
+\r
+ oneof varid = MyEfiBitVar.EfiBitOneof,\r
+ questionid = 0x9999,\r
+ prompt = STRING_TOKEN(STR_ONE_OF_BIT_PROMPT),\r
+ help = STRING_TOKEN(STR_ONE_OF_BIT_HELP),\r
+ option text = STRING_TOKEN(STR_BOOT_ORDER1), value = 0x0, flags = MANUFACTURING;\r
+ option text = STRING_TOKEN(STR_BOOT_ORDER2), value = 0x1, flags = DEFAULT;\r
+ endoneof;\r
+\r
+ subtitle text = STRING_TOKEN(STR_SUBTITLE_TEXT2);\r
+ subtitle text = STRING_TOKEN(STR_NEST_BIT_VARSTORE);\r
+ checkbox varid = MyIfrNVData.MyBitData.NestBitCheckbox,\r
+ prompt = STRING_TOKEN(STR_BIT_NEST_CHECK_BOX_PROMPT),\r
+ help = STRING_TOKEN(STR_BIT_NEST_CHECK_BOX_HELP),\r
+ flags = CHECKBOX_DEFAULT,\r
+ endcheckbox;\r
+\r
+ oneof varid = MyIfrNVData.MyBitData.NestBitOneof,\r
+ prompt = STRING_TOKEN(STR_ONE_OF_BIT_NEST_PROMPT),\r
+ help = STRING_TOKEN(STR_ONE_OF_BIT_NEST_HELP),\r
+ option text = STRING_TOKEN(STR_BOOT_ORDER1), value = 0, flags = MANUFACTURING;\r
+ option text = STRING_TOKEN(STR_BOOT_ORDER2), value = 1, flags = DEFAULT;\r
+ endoneof;\r
+\r
+ numeric varid = MyIfrNVData.MyBitData.NestBitNumeric,\r
+ prompt = STRING_TOKEN(STR_BIT_NEST_NUMERIC_PROMPT),\r
+ help = STRING_TOKEN(STR_BIT_NEST_NUMERIC_HELP),\r
+ minimum = 0,\r
+ maximum = 7,\r
+ step = 0,\r
+ default = 6, defaultstore = MyStandardDefault,\r
+ default = 7, defaultstore = MyManufactureDefault,\r
+ endnumeric;\r
+\r
+ oneof varid = MyIfrNVData.MyBitData.NestByteField,\r
+ prompt = STRING_TOKEN(BYTE_QUESTION_NEST_BIT_PROMPT),\r
+ help = STRING_TOKEN(BYTE_QUESTION_NEST_BIT_HELP),\r
+ option text = STRING_TOKEN(STR_BOOT_ORDER1), value = 0, flags = MANUFACTURING;\r
+ option text = STRING_TOKEN(STR_BOOT_ORDER2), value = 1, flags = DEFAULT;\r
+ endoneof;\r
+\r
+ subtitle text = STRING_TOKEN(STR_SUBTITLE_TEXT2);\r
+ subtitle text = STRING_TOKEN(STR_BIT_VARSTORE);\r
+\r
+ oneof varid = MyIfrNVData.BitOneof,\r
+ prompt = STRING_TOKEN(STR_ONE_OF_BIT_PROMPT),\r
+ help = STRING_TOKEN(STR_ONE_OF_BIT_HELP),\r
+ option text = STRING_TOKEN(STR_BOOT_ORDER1), value = 0, flags = MANUFACTURING;\r
+ option text = STRING_TOKEN(STR_BOOT_ORDER2), value = 1, flags = DEFAULT;\r
+ endoneof;\r
+\r
+ checkbox varid = MyIfrNVData.BitCheckbox,\r
+ prompt = STRING_TOKEN(STR_BIT_CHECK_BOX_PROMPT),\r
+ help = STRING_TOKEN(STR_BIT_CHECK_BOX_HELP),\r
+ flags = CHECKBOX_DEFAULT,\r
+ endcheckbox;\r
+\r
+ numeric varid = MyIfrNVData.BitNumeric,\r
+ prompt = STRING_TOKEN(STR_BIT_NUMERIC_PROMPT),\r
+ help = STRING_TOKEN(STR_BUFFER_BIT_NUMERIC_HELP),\r
+ minimum = 0,\r
+ maximum = 20,\r
+ step = 0,\r
+ default = 16, defaultstore = MyStandardDefault,\r
+ default = 17, defaultstore = MyManufactureDefault,\r
+ endnumeric;\r
+\r
+ subtitle text = STRING_TOKEN(STR_SUBTITLE_TEXT2);\r
+ subtitle text = STRING_TOKEN(STR_UNION_EFI_VARSTORE);\r
+\r
+ numeric varid = MyEfiUnionVar.UnionNumeric,\r
+ prompt = STRING_TOKEN(STR_UNION_BYTE_NUMERIC_PROMPT),\r
+ help = STRING_TOKEN(STR_UNION_BYTE_NUMERIC_HELP),\r
+ minimum = 0,\r
+ maximum = 20,\r
+ step = 0,\r
+ default = 7, defaultstore = MyStandardDefault,\r
+ default = 8, defaultstore = MyManufactureDefault,\r
+ endnumeric;\r
+\r
+ guidop\r
+ guid = DRIVER_SAMPLE_FORMSET_GUID,\r
+ datatype = MY_EFI_BITS_VARSTORE_DATA,\r
+ data.EfiBitNumeric = 1,\r
+ data.EfiBitOneof = 1,\r
+ data.EfiBitCheckbox = 1,\r
+ endguidop;\r
+\r
+ endform;\r
+\r
endformset;\r