alder_lake_bios/Insyde/InsydeModulePkg/Universal/SecureOptionRomControlDxe/SecureOptionRomControlSetup/SecureOptionRomControlSetup...

135 lines
5.0 KiB
Plaintext

/** @file
Secure Option ROM Control VFR implementation.
;******************************************************************************
;* Copyright (c) 2014 - 2018, Insyde Software Corporation. All Rights Reserved.
;*
;* You may not reproduce, distribute, publish, display, perform, modify, adapt,
;* transmit, broadcast, present, recite, release, license or otherwise exploit
;* any part of this publication in any form, by any means, without the prior
;* written permission of Insyde Software Corporation.
;*
;******************************************************************************
*/
#include "SetupDataStruc.h"
formset
guid = SECURE_OPTION_ROM_CONTROL_FORMSET_GUID,
title = STRING_TOKEN(STR_SECURE_OPTION_ROM_CONTROL_FORMSET),
help = STRING_TOKEN(STR_SECURE_OPTION_ROM_CONTROL_FORMSET_HELP),
classguid = SECURE_OPTIONROM_CLASS_GUID,
//
// Define a Buffer Storage (EFI_IFR_VARSTORE)
//
varstore SECURE_OPROM_CONTROL_CONFIGURATION, // This is the data structure type
varid = CONFIG_VARSTORE_ID, // Optional VarStore ID
name = SecOpRomConfig, // Define referenced name in vfr
guid = SECURE_OPTION_ROM_CONTROL_FORMSET_GUID; // GUID of this buffer storage
//
// Varstore for dynamic option ROM policy setting
//
varstore OPTION_ROM_POLICY_SETTING,
varid = SETTING_VARSTORE_ID,
name = OpRomSetting,
guid = SECURE_OPTION_ROM_CONTROL_FORMSET_GUID;
namevaluevarstore SecOpRomConfigNameValue,
name = STRING_TOKEN(STR_NAME_VALUE_VAR_NAME0),
guid = SECURE_OPTION_ROM_CONTROL_FORMSET_GUID;
//
// Form SECURE_OPTION_ROM_CONTROL_FORM_ID
//
form
formid = SECURE_OPTION_ROM_CONTROL_FORM_ID, title = STRING_TOKEN(STR_SECURE_OPTION_ROM_CONTROL);
subtitle
text = STRING_TOKEN(STR_SECURE_OPTION_ROM_CONTROL);
#if FeaturePcdGet (PcdH2OPciOptionRomSecurityControlBySlot)
oneof
varid = SecOpRomConfig.OptionRomPolicy,
questionid = KEY_OPROM_POLICY_CONTROL,
prompt = STRING_TOKEN(STR_ON_BOARD_DEFAULT_OPTION_ROM_POLICY_TEXT),
help = STRING_TOKEN(STR_ON_BOARD_DEFAULT_OPTION_ROM_POLICY_HELP),
option text = STRING_TOKEN(STR_AUTO_TEXT), value = 0, flags = DEFAULT;
option text = STRING_TOKEN(STR_NONE_TEXT), value = 1, flags = 0;
option text = STRING_TOKEN(STR_LEGACY_ROM_TEXT), value = 2, flags = 0;
option text = STRING_TOKEN(STR_UNSIGNED_EFI_ROM_TEXT), value = 3, flags = 0;
option text = STRING_TOKEN(STR_SIGNED_EFI_ROM_TEXT), value = 4, flags = 0;
option text = STRING_TOKEN(STR_ALL_TEXT), value = 5, flags = 0;
endoneof;
subtitle
text = STRING_TOKEN(STR_BLANK_STRING);
label SECURE_OPTION_ROM_POLICY_LABEL;
label SECURE_OPTION_ROM_POLICY_END_LABEL;
#else
oneof
varid = SecOpRomConfig.OptionRomPolicy,
questionid = KEY_OPROM_POLICY_CONTROL,
prompt = STRING_TOKEN(STR_DEFAULT_OPTION_ROM_POLICY_TEXT),
help = STRING_TOKEN(STR_DEFAULT_OPTION_ROM_POLICY_HELP),
option text = STRING_TOKEN(STR_AUTO_TEXT), value = 0, flags = DEFAULT;
option text = STRING_TOKEN(STR_NONE_TEXT), value = 1, flags = 0;
option text = STRING_TOKEN(STR_LEGACY_ROM_TEXT), value = 2, flags = 0;
option text = STRING_TOKEN(STR_UNSIGNED_EFI_ROM_TEXT), value = 3, flags = 0;
option text = STRING_TOKEN(STR_SIGNED_EFI_ROM_TEXT), value = 4, flags = 0;
option text = STRING_TOKEN(STR_ALL_TEXT), value = 5, flags = 0;
endoneof;
suppressif
ideqval SecOpRomConfig.OptionRomPolicy == 0;
label SECURE_OPTION_ROM_POLICY_LABEL;
label SECURE_OPTION_ROM_POLICY_END_LABEL;
endif;
subtitle
text = STRING_TOKEN(STR_BLANK_STRING);
suppressif
ideqval SecOpRomConfig.OptionRomPolicy == 0;
text
help = STRING_TOKEN(STR_ADD_NEW_OPTION_ROM_POLICY_HELP),
text = STRING_TOKEN(STR_ADD_NEW_OPTION_ROM_POLICY_TEXT),
flags = INTERACTIVE,
key = KEY_OPROM_POLICY_INSERT;
endif;
suppressif
ideqval SecOpRomConfig.OptionRomPolicy == 0;
text
help = STRING_TOKEN(STR_DELETE_OPROM_POLICY_HELP),
text = STRING_TOKEN(STR_DELETE_OPROM_POLICY_STRING),
flags = INTERACTIVE,
key = KEY_OPROM_POLICY_DELETE;
endif;
#endif
//
// This Opcode is for F9 load default.
//
suppressif
TRUE;
numeric varid = SecOpRomConfigNameValue[0], // This numeric take NameValueVar0 as storage
questionid = KEY_LOAD_DEFAULT,
prompt = STRING_TOKEN(STR_NAME_VALUE_VAR_NAME0),
help = STRING_TOKEN(STR_NAME_VALUE_VAR_NAME0),
flags = NUMERIC_SIZE_1 | INTERACTIVE, // Size of this numeric is 1 byte
extflags = SETUP_CHANGE_LIST_IGNORE,
minimum = 0,
maximum = 0xff,
step = 0,
default = 0,
endnumeric;
endif;
endform;
endformset;