/** @file | |
Copyright (c) 2016 - 2019, Intel Corporation. All rights reserved.<BR> | |
SPDX-License-Identifier: BSD-2-Clause-Patent | |
**/ | |
#include "OpalHiiFormValues.h" | |
#define EFI_HII_PLATFORM_SETUP_FORMSET_GUID \ | |
{ 0x93039971, 0x8545, 0x4b04, { 0xb4, 0x5e, 0x32, 0xeb, 0x83, 0x26, 0x4, 0xe } } | |
formset | |
guid = SETUP_FORMSET_GUID, | |
title = STRING_TOKEN(STR_OPAL), | |
help = STRING_TOKEN(STR_FORM_SET_HELP), | |
classguid = EFI_HII_PLATFORM_SETUP_FORMSET_GUID, | |
// Define a Buffer Storage (EFI_IFR_VARSTORE) that will be filled | |
// out initially through extractConfig call | |
varstore OPAL_HII_CONFIGURATION, // This is the Data structure type | |
name = OpalHiiConfig, // Define referenced name in vfr | |
guid = SETUP_VARIABLE_GUID; // GUID of this Buffer storage | |
form formid = FORMID_VALUE_MAIN_MENU, | |
title = STRING_TOKEN(STR_OPAL); | |
suppressif TRUE; | |
label OPAL_MAIN_MENU_LABEL_START; | |
label OPAL_MAIN_MENU_LABEL_END; | |
//CONFIG_VARIABLE(HII_KEY(HII_KEY_ID_VAR_SUPPORTED_DISKS), SupportedDisks, 0x0, 0xFFFF); | |
numeric | |
name = SupportedDisks, | |
varid = OpalHiiConfig.SupportedDisks, | |
prompt = STRING_TOKEN(STR_NULL), | |
help = STRING_TOKEN(STR_NULL), | |
flags = INTERACTIVE, | |
key = 0x8002, | |
minimum = 0x0, | |
maximum = 0xFFFF, | |
endnumeric; | |
endif; | |
subtitle text = STRING_TOKEN(STR_MAIN_OPAL_TITLE_LBL); | |
subtitle text = STRING_TOKEN(STR_NULL); | |
subtitle text = STRING_TOKEN(STR_MAIN_PHY_DISKS_LBL); | |
//DISK( 0 ); | |
suppressif ( questionref(SupportedDisks) & ( 0x1 ) ) == 0; | |
goto FORMID_VALUE_DISK_INFO_FORM_MAIN, | |
prompt = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_0 ), | |
help = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_HELP), | |
flags = INTERACTIVE, | |
key = 0x8001; | |
endif; | |
//DISK( 1 ); | |
suppressif ( questionref(SupportedDisks) & ( 0x2 ) ) == 0; | |
goto FORMID_VALUE_DISK_INFO_FORM_MAIN, | |
prompt = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_1 ), | |
help = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_HELP), | |
flags = INTERACTIVE, | |
key = 0x8101; | |
endif; | |
//DISK( 2 ); | |
suppressif ( questionref(SupportedDisks) & ( 0x4 ) ) == 0; | |
goto FORMID_VALUE_DISK_INFO_FORM_MAIN, | |
prompt = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_2 ), | |
help = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_HELP), | |
flags = INTERACTIVE, | |
key = 0x8201; | |
endif; | |
//DISK( 3 ); | |
suppressif ( questionref(SupportedDisks) & ( 0x8 ) ) == 0; | |
goto FORMID_VALUE_DISK_INFO_FORM_MAIN, | |
prompt = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_3 ), | |
help = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_HELP), | |
flags = INTERACTIVE, | |
key = 0x8301; | |
endif; | |
//DISK( 4 ); | |
suppressif ( questionref(SupportedDisks) & ( 0x10 ) ) == 0; | |
goto FORMID_VALUE_DISK_INFO_FORM_MAIN, | |
prompt = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_4 ), | |
help = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_HELP), | |
flags = INTERACTIVE, | |
key = 0x8401; | |
endif; | |
//DISK( 5 ); | |
suppressif ( questionref(SupportedDisks) & ( 0x20 ) ) == 0; | |
goto FORMID_VALUE_DISK_INFO_FORM_MAIN, | |
prompt = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_5 ), | |
help = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_HELP), | |
flags = INTERACTIVE, | |
key = 0x8501; | |
endif; | |
//No disks on system | |
suppressif ideqval OpalHiiConfig.NumDisks > 0; | |
text | |
help = STRING_TOKEN(STR_MAIN_NO_DISKS_PRESENT_LBL_HELP), | |
text = STRING_TOKEN(STR_MAIN_NO_DISKS_PRESENT_LBL); | |
endif; | |
subtitle text = STRING_TOKEN(STR_NULL); | |
grayoutif TRUE; | |
text | |
help = STRING_TOKEN(STR_BLOCKSID_STATUS_HELP), | |
text = STRING_TOKEN(STR_BLOCKSID_STATUS); | |
text | |
help = STRING_TOKEN(STR_BLOCKSID_STATUS_HELP), | |
text = STRING_TOKEN(STR_BLOCKSID_STATUS1); | |
text | |
help = STRING_TOKEN(STR_BLOCKSID_STATUS_HELP), | |
text = STRING_TOKEN(STR_BLOCKSID_STATUS2); | |
text | |
help = STRING_TOKEN(STR_BLOCKSID_STATUS_HELP), | |
text = STRING_TOKEN(STR_BLOCKSID_STATUS3); | |
subtitle text = STRING_TOKEN(STR_NULL); | |
endif; | |
oneof varid = OpalHiiConfig.EnableBlockSid, | |
questionid = 0x8004, | |
prompt = STRING_TOKEN(STR_DISK_INFO_ENABLE_BLOCKSID), | |
help = STRING_TOKEN(STR_DISK_INFO_ENABLE_BLOCKSID_HELP), | |
flags = INTERACTIVE, | |
option text = STRING_TOKEN(STR_NONE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED; | |
option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED; | |
option text = STRING_TOKEN(STR_DISABLED), value = 2, flags = RESET_REQUIRED; | |
option text = STRING_TOKEN(STR_DISK_INFO_ENABLE_BLOCKSID_TRUE), value = 3, flags = RESET_REQUIRED; | |
option text = STRING_TOKEN(STR_DISK_INFO_ENABLE_BLOCKSID_FALSE), value = 4, flags = RESET_REQUIRED; | |
option text = STRING_TOKEN(STR_DISK_INFO_DISABLE_BLOCKSID_TRUE), value = 5, flags = RESET_REQUIRED; | |
option text = STRING_TOKEN(STR_DISK_INFO_DISABLE_BLOCKSID_FALSE), value = 6, flags = RESET_REQUIRED; | |
endoneof; | |
endform; // MAIN MENU FORM | |
// | |
///////////////// DISK INFO FORM ///////////////// | |
// | |
form formid = FORMID_VALUE_DISK_INFO_FORM_MAIN, | |
title = STRING_TOKEN(STR_OPAL); | |
suppressif TRUE; | |
label OPAL_DISK_INFO_LABEL_START; | |
label OPAL_DISK_INFO_LABEL_END; | |
numeric | |
name = SelectedDiskAvailableActions, | |
varid = OpalHiiConfig.SelectedDiskAvailableActions, | |
prompt = STRING_TOKEN(STR_NULL), | |
help = STRING_TOKEN(STR_NULL), | |
flags = INTERACTIVE, | |
key = 0x8003, | |
minimum = 0x0, | |
maximum = 0xFFFF, | |
endnumeric; | |
endif; | |
suppressif TRUE; | |
checkbox varid = OpalHiiConfig.KeepUserDataForced, | |
prompt = STRING_TOKEN(STR_NULL), | |
help = STRING_TOKEN(STR_NULL), | |
endcheckbox; | |
endif; | |
subtitle text = STRING_TOKEN(STR_DISK_INFO_TITLE_LBL); | |
subtitle text = STRING_TOKEN(STR_NULL); | |
text | |
help = STRING_TOKEN(STR_NULL), | |
text = STRING_TOKEN(STR_DISK_INFO_SELECTED_DISK_NAME); | |
subtitle text = STRING_TOKEN(STR_NULL); | |
subtitle text = STRING_TOKEN(STR_OPAL_REQUESTS_LBL); | |
suppressif ( questionref(SelectedDiskAvailableActions) & HII_ACTION_SET_ADMIN_PWD ) == 0; | |
grayoutif ideqval OpalHiiConfig.OpalRequest.Revert == 1; | |
grayoutif ideqval OpalHiiConfig.OpalRequest.PsidRevert == 1; | |
checkbox varid = OpalHiiConfig.OpalRequest.SetAdminPwd, | |
prompt = STRING_TOKEN(STR_DISK_INFO_SET_ADMIN_PSWD), | |
help = STRING_TOKEN(STR_DISK_INFO_SET_ADMIN_PSWD_HELP), | |
flags = INTERACTIVE | RESET_REQUIRED, | |
key = 0x8005, | |
endcheckbox; | |
endif; | |
endif; | |
endif; | |
suppressif ( questionref(SelectedDiskAvailableActions) & HII_ACTION_SET_USER_PWD ) == 0; | |
grayoutif ideqval OpalHiiConfig.OpalRequest.DisableUser == 1; | |
grayoutif ideqval OpalHiiConfig.OpalRequest.Revert == 1; | |
grayoutif ideqval OpalHiiConfig.OpalRequest.PsidRevert == 1; | |
checkbox varid = OpalHiiConfig.OpalRequest.SetUserPwd, | |
prompt = STRING_TOKEN(STR_DISK_INFO_SET_USER_PSWD), | |
help = STRING_TOKEN(STR_DISK_INFO_SET_USER_PSWD_HELP), | |
flags = INTERACTIVE | RESET_REQUIRED, | |
key = 0x8006, | |
endcheckbox; | |
endif; | |
endif; | |
endif; | |
endif; | |
suppressif ( questionref(SelectedDiskAvailableActions) & HII_ACTION_SECURE_ERASE ) == 0; | |
grayoutif ideqval OpalHiiConfig.OpalRequest.Revert == 1; | |
grayoutif ideqval OpalHiiConfig.OpalRequest.PsidRevert == 1; | |
checkbox varid = OpalHiiConfig.OpalRequest.SecureErase, | |
prompt = STRING_TOKEN(STR_DISK_INFO_SECURE_ERASE), | |
help = STRING_TOKEN(STR_DISK_INFO_SECURE_ERASE_HELP), | |
flags = INTERACTIVE | RESET_REQUIRED, | |
key = 0x8007, | |
endcheckbox; | |
endif; | |
endif; | |
endif; | |
suppressif ( questionref(SelectedDiskAvailableActions) & HII_ACTION_REVERT ) == 0; | |
grayoutif ideqval OpalHiiConfig.OpalRequest.SetAdminPwd == 1; | |
grayoutif ideqval OpalHiiConfig.OpalRequest.SetUserPwd == 1; | |
grayoutif ideqval OpalHiiConfig.OpalRequest.SecureErase == 1; | |
grayoutif ideqval OpalHiiConfig.OpalRequest.DisableUser == 1; | |
grayoutif ideqval OpalHiiConfig.OpalRequest.PsidRevert == 1; | |
checkbox varid = OpalHiiConfig.OpalRequest.Revert, | |
prompt = STRING_TOKEN(STR_DISK_INFO_REVERT), | |
help = STRING_TOKEN(STR_DISK_INFO_REVERT_HELP), | |
flags = INTERACTIVE | RESET_REQUIRED, | |
key = 0x8008, | |
endcheckbox; | |
endif; | |
endif; | |
endif; | |
endif; | |
endif; | |
endif; | |
suppressif ideqval OpalHiiConfig.OpalRequest.Revert == 0; | |
grayoutif ideqval OpalHiiConfig.KeepUserDataForced == 1; | |
checkbox varid = OpalHiiConfig.OpalRequest.KeepUserData, | |
prompt = STRING_TOKEN(STR_KEEP_USER_DATA_PROMPT), | |
help = STRING_TOKEN(STR_KEEP_USER_DATA_HELP), | |
flags = INTERACTIVE | RESET_REQUIRED, | |
key = 0x8009, | |
endcheckbox; | |
endif; | |
endif; | |
suppressif ( questionref(SelectedDiskAvailableActions) & HII_ACTION_PSID_REVERT ) == 0; | |
grayoutif ideqval OpalHiiConfig.OpalRequest.SetAdminPwd == 1; | |
grayoutif ideqval OpalHiiConfig.OpalRequest.SetUserPwd == 1; | |
grayoutif ideqval OpalHiiConfig.OpalRequest.SecureErase == 1; | |
grayoutif ideqval OpalHiiConfig.OpalRequest.DisableUser == 1; | |
grayoutif ideqval OpalHiiConfig.OpalRequest.EnableFeature == 1; | |
grayoutif ideqval OpalHiiConfig.OpalRequest.Revert == 1; | |
checkbox varid = OpalHiiConfig.OpalRequest.PsidRevert, | |
prompt = STRING_TOKEN(STR_DISK_INFO_PSID_REVERT), | |
help = STRING_TOKEN(STR_DISK_INFO_PSID_REVERT_HELP), | |
flags = INTERACTIVE | RESET_REQUIRED, | |
key = 0x800A, | |
endcheckbox; | |
endif; | |
endif; | |
endif; | |
endif; | |
endif; | |
endif; | |
endif; | |
suppressif ( questionref(SelectedDiskAvailableActions) & HII_ACTION_DISABLE_USER ) == 0; | |
grayoutif ideqval OpalHiiConfig.OpalRequest.SetUserPwd == 1; | |
grayoutif ideqval OpalHiiConfig.OpalRequest.Revert == 1; | |
grayoutif ideqval OpalHiiConfig.OpalRequest.PsidRevert == 1; | |
checkbox varid = OpalHiiConfig.OpalRequest.DisableUser, | |
prompt = STRING_TOKEN(STR_DISK_INFO_DISABLE_USER), | |
help = STRING_TOKEN(STR_DISK_INFO_DISABLE_USER_HELP), | |
flags = INTERACTIVE | RESET_REQUIRED, | |
key = 0x800B, | |
endcheckbox; | |
endif; | |
endif; | |
endif; | |
endif; | |
suppressif ( questionref(SelectedDiskAvailableActions) & HII_ACTION_ENABLE_FEATURE ) == 0; | |
grayoutif ideqval OpalHiiConfig.OpalRequest.PsidRevert == 1; | |
checkbox varid = OpalHiiConfig.OpalRequest.EnableFeature, | |
prompt = STRING_TOKEN(STR_DISK_INFO_ENABLE_FEATURE), | |
help = STRING_TOKEN(STR_DISK_INFO_ENABLE_FEATURE_HELP), | |
flags = INTERACTIVE | RESET_REQUIRED, | |
key = 0x800C, | |
endcheckbox; | |
endif; | |
endif; | |
endform; // DISK INFO FORM | |
endformset; |