• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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