1/** @file 2 VFR file used by the TCG2 configuration component. 3 4Copyright (c) 2015, Intel Corporation. All rights reserved.<BR> 5This program and the accompanying materials 6are licensed and made available under the terms and conditions of the BSD License 7which accompanies this distribution. The full text of the license may be found at 8http://opensource.org/licenses/bsd-license.php 9 10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 12 13**/ 14 15#include "Tcg2ConfigNvData.h" 16 17formset 18 guid = TCG2_CONFIG_FORM_SET_GUID, 19 title = STRING_TOKEN(STR_TCG2_TITLE), 20 help = STRING_TOKEN(STR_TCG2_HELP), 21 classguid = EFI_HII_PLATFORM_SETUP_FORMSET_GUID, 22 23 efivarstore TCG2_CONFIGURATION_INFO, 24 varid = TCG2_CONFIGURATION_INFO_VARSTORE_ID, 25 attribute = 0x02, // EFI variable attribures EFI_VARIABLE_BOOTSERVICE_ACCESS 26 name = TCG2_CONFIGURATION_INFO, 27 guid = TCG2_CONFIG_FORM_SET_GUID; 28 29 efivarstore TCG2_CONFIGURATION, 30 varid = TCG2_CONFIGURATION_VARSTORE_ID, 31 attribute = 0x03, // EFI variable attribures EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_NON_VOLATILE 32 name = TCG2_CONFIGURATION, 33 guid = TCG2_CONFIG_FORM_SET_GUID; 34 35 form formid = TCG2_CONFIGURATION_FORM_ID, 36 title = STRING_TOKEN(STR_TCG2_TITLE); 37 38 subtitle text = STRING_TOKEN(STR_NULL); 39 40 text 41 help = STRING_TOKEN(STR_TCG2_DEVICE_STATE_HELP), 42 text = STRING_TOKEN(STR_TCG2_DEVICE_STATE_PROMPT), 43 text = STRING_TOKEN(STR_TCG2_DEVICE_STATE_CONTENT); 44 45 oneof varid = TCG2_CONFIGURATION.TpmDevice, 46 questionid = KEY_TPM_DEVICE, 47 prompt = STRING_TOKEN(STR_TCG2_DEVICE_PROMPT), 48 help = STRING_TOKEN(STR_TCG2_DEVICE_HELP), 49 flags = INTERACTIVE, 50 option text = STRING_TOKEN(STR_TCG2_TPM_1_2), value = TPM_DEVICE_1_2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED; 51 option text = STRING_TOKEN(STR_TCG2_TPM_2_0_DTPM), value = TPM_DEVICE_2_0_DTPM, flags = RESET_REQUIRED; 52 endoneof; 53 54 subtitle text = STRING_TOKEN(STR_NULL); 55 56 suppressif ideqvallist TCG2_CONFIGURATION.TpmDevice == TPM_DEVICE_NULL TPM_DEVICE_1_2; 57 text 58 help = STRING_TOKEN(STR_TPM2_ACTIVE_HASH_ALGO_HELP), 59 text = STRING_TOKEN(STR_TPM2_ACTIVE_HASH_ALGO), 60 text = STRING_TOKEN(STR_TPM2_ACTIVE_HASH_ALGO_CONTENT); 61 text 62 help = STRING_TOKEN(STR_TPM2_SUPPORTED_HASH_ALGO_HELP), 63 text = STRING_TOKEN(STR_TPM2_SUPPORTED_HASH_ALGO), 64 text = STRING_TOKEN(STR_TPM2_SUPPORTED_HASH_ALGO_CONTENT); 65 text 66 help = STRING_TOKEN(STR_BIOS_HASH_ALGO_HELP), 67 text = STRING_TOKEN(STR_BIOS_HASH_ALGO), 68 text = STRING_TOKEN(STR_BIOS_HASH_ALGO_CONTENT); 69 70 subtitle text = STRING_TOKEN(STR_NULL); 71 subtitle text = STRING_TOKEN(STR_TCG2_PP_OPERATION); 72 73 oneof name = Tpm2Operation, 74 questionid = KEY_TPM2_OPERATION, 75 prompt = STRING_TOKEN(STR_TCG2_OPERATION), 76 help = STRING_TOKEN(STR_TCG2_OPERATION_HELP), 77 flags = INTERACTIVE | NUMERIC_SIZE_1, 78 option text = STRING_TOKEN(STR_TCG2_NO_ACTION), value = TCG2_PHYSICAL_PRESENCE_NO_ACTION, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED; 79 option text = STRING_TOKEN(STR_TCG2_ENABLE), value = TCG2_PHYSICAL_PRESENCE_ENABLE, flags = RESET_REQUIRED; 80 option text = STRING_TOKEN(STR_TCG2_DISABLE), value = TCG2_PHYSICAL_PRESENCE_DISABLE, flags = RESET_REQUIRED; 81 option text = STRING_TOKEN(STR_TCG2_CLEAR), value = TCG2_PHYSICAL_PRESENCE_CLEAR, flags = RESET_REQUIRED; 82 option text = STRING_TOKEN(STR_TCG2_SET_PCD_BANKS), value = TCG2_PHYSICAL_PRESENCE_SET_PCR_BANKS, flags = RESET_REQUIRED; 83 option text = STRING_TOKEN(STR_TCG2_CHANGE_EPS), value = TCG2_PHYSICAL_PRESENCE_CHANGE_EPS, flags = RESET_REQUIRED; 84 option text = STRING_TOKEN(STR_TCG2_LOG_ALL_DIGESTS), value = TCG2_PHYSICAL_PRESENCE_LOG_ALL_DIGESTS, flags = RESET_REQUIRED; 85 option text = STRING_TOKEN(STR_TCG2_DISABLE_ENDORSEMENT_ENABLE_STORAGE_HIERARCHY), value = TCG2_PHYSICAL_PRESENCE_DISABLE_ENDORSEMENT_ENABLE_STORAGE_HIERARCHY, flags = RESET_REQUIRED; 86 87 option text = STRING_TOKEN(STR_TCG2_ENABLE_BLOCK_SID), value = TCG2_PHYSICAL_PRESENCE_ENABLE_BLOCK_SID, flags = RESET_REQUIRED; 88 option text = STRING_TOKEN(STR_TCG2_DISABLE_BLOCK_SID), value = TCG2_PHYSICAL_PRESENCE_DISABLE_BLOCK_SID, flags = RESET_REQUIRED; 89 endoneof; 90 91 suppressif NOT questionref(Tpm2Operation) == TCG2_PHYSICAL_PRESENCE_SET_PCR_BANKS; 92 numeric name = Tpm2OperationParameter, 93 questionid = KEY_TPM2_OPERATION_PARAMETER, 94 prompt = STRING_TOKEN(STR_TCG2_OPERATION_PARAMETER), 95 help = STRING_TOKEN(STR_TCG2_OPERATION_PARAMETER_HELP), 96 flags = DISPLAY_UINT_HEX | INTERACTIVE | NUMERIC_SIZE_4, 97 minimum = 0, 98 maximum = 0xFFFFFFFF, 99 step = 0, 100 default = 0, 101 endnumeric; 102 endif; 103 104 subtitle text = STRING_TOKEN(STR_NULL); 105 subtitle text = STRING_TOKEN(STR_TCG2_CONFIGURATION); 106 107 text 108 help = STRING_TOKEN(STR_TCG2_SUPPORTED_EVENT_LOG_FORMAT_HELP), 109 text = STRING_TOKEN(STR_TCG2_SUPPORTED_EVENT_LOG_FORMAT), 110 text = STRING_TOKEN(STR_TCG2_SUPPORTED_EVENT_LOG_FORMAT_CONTENT); 111 112 text 113 help = STRING_TOKEN(STR_TCG2_HASH_ALGO_BITMAP_HELP), 114 text = STRING_TOKEN(STR_TCG2_HASH_ALGO_BITMAP), 115 text = STRING_TOKEN(STR_TCG2_HASH_ALGO_BITMAP_CONTENT); 116 117 text 118 help = STRING_TOKEN(STR_TCG2_NUMBER_OF_PCR_BANKS_HELP), 119 text = STRING_TOKEN(STR_TCG2_NUMBER_OF_PCR_BANKS), 120 text = STRING_TOKEN(STR_TCG2_NUMBER_OF_PCR_BANKS_CONTENT); 121 122 text 123 help = STRING_TOKEN(STR_TCG2_ACTIVE_PCR_BANKS_HELP), 124 text = STRING_TOKEN(STR_TCG2_ACTIVE_PCR_BANKS), 125 text = STRING_TOKEN(STR_TCG2_ACTIVE_PCR_BANKS_CONTENT); 126 127 subtitle text = STRING_TOKEN(STR_NULL); 128 129 suppressif ideqval TCG2_CONFIGURATION_INFO.Sha1Supported == 0; 130 checkbox name = TCG2ActivatePCRBank0, 131 questionid = KEY_TPM2_PCR_BANKS_REQUEST_0, 132 prompt = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA1), 133 help = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA1_HELP), 134 flags = INTERACTIVE, 135 default = 1, 136 endcheckbox; 137 endif; 138 139 suppressif ideqval TCG2_CONFIGURATION_INFO.Sha256Supported == 0; 140 checkbox name = TCG2ActivatePCRBank1, 141 questionid = KEY_TPM2_PCR_BANKS_REQUEST_1, 142 prompt = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA256), 143 help = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA256_HELP), 144 flags = INTERACTIVE, 145 default = 0, 146 endcheckbox; 147 endif; 148 149 suppressif ideqval TCG2_CONFIGURATION_INFO.Sha384Supported == 0; 150 checkbox name = TCG2ActivatePCRBank2, 151 questionid = KEY_TPM2_PCR_BANKS_REQUEST_2, 152 prompt = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA384), 153 help = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA384_HELP), 154 flags = INTERACTIVE, 155 default = 0, 156 endcheckbox; 157 endif; 158 159 suppressif ideqval TCG2_CONFIGURATION_INFO.Sha512Supported == 0; 160 checkbox name = TCG2ActivatePCRBank3, 161 questionid = KEY_TPM2_PCR_BANKS_REQUEST_3, 162 prompt = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA512), 163 help = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA512_HELP), 164 flags = INTERACTIVE, 165 default = 0, 166 endcheckbox; 167 endif; 168 169 suppressif ideqval TCG2_CONFIGURATION_INFO.Sm3Supported == 0; 170 checkbox name = TCG2ActivatePCRBank4, 171 questionid = KEY_TPM2_PCR_BANKS_REQUEST_4, 172 prompt = STRING_TOKEN(STR_TCG2_PCR_BANK_SM3_256), 173 help = STRING_TOKEN(STR_TCG2_PCR_BANK_SM3_256_HELP), 174 flags = INTERACTIVE, 175 default = 0, 176 endcheckbox; 177 endif; 178 179 endif; 180 181 endform; 182 183endformset; 184