| /** @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; |