/** @file Copyright (c) 2016 - 2019, Intel Corporation. All rights reserved.
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;