]> git.proxmox.com Git - mirror_edk2.git/blobdiff - SecurityPkg/Tcg/Tcg2Config/Tcg2Config.vfr
Add TPM2 support defined in trusted computing group.
[mirror_edk2.git] / SecurityPkg / Tcg / Tcg2Config / Tcg2Config.vfr
diff --git a/SecurityPkg/Tcg/Tcg2Config/Tcg2Config.vfr b/SecurityPkg/Tcg/Tcg2Config/Tcg2Config.vfr
new file mode 100644 (file)
index 0000000..fe0ef14
--- /dev/null
@@ -0,0 +1,167 @@
+/** @file\r
+  VFR file used by the TCG2 configuration component.\r
+\r
+Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials \r
+are licensed and made available under the terms and conditions of the BSD License \r
+which accompanies this distribution.  The full text of the license may be found at \r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+**/\r
+\r
+#include "Tcg2ConfigNvData.h"\r
+\r
+formset\r
+  guid      = TCG2_CONFIG_FORM_SET_GUID,\r
+  title     = STRING_TOKEN(STR_TCG2_TITLE),\r
+  help      = STRING_TOKEN(STR_TCG2_HELP),\r
+  classguid = EFI_HII_PLATFORM_SETUP_FORMSET_GUID,\r
+\r
+  efivarstore TCG2_CONFIGURATION,\r
+    varid = TCG2_CONFIGURATION_VARSTORE_ID,\r
+    attribute = 0x03,  // EFI variable attribures  EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_NON_VOLATILE\r
+    name  = TCG2_CONFIGURATION,\r
+    guid  = TCG2_CONFIG_FORM_SET_GUID;\r
+\r
+  form formid = TCG2_CONFIGURATION_FORM_ID,\r
+    title = STRING_TOKEN(STR_TCG2_TITLE);\r
+\r
+    subtitle text = STRING_TOKEN(STR_NULL);\r
+\r
+    text\r
+      help   = STRING_TOKEN(STR_TCG2_DEVICE_STATE_HELP),\r
+      text   = STRING_TOKEN(STR_TCG2_DEVICE_STATE_PROMPT),\r
+        text   = STRING_TOKEN(STR_TCG2_DEVICE_STATE_CONTENT);\r
+\r
+    oneof varid  = TCG2_CONFIGURATION.TpmDevice,\r
+          questionid = KEY_TPM_DEVICE,\r
+          prompt = STRING_TOKEN(STR_TCG2_DEVICE_PROMPT),\r
+          help   = STRING_TOKEN(STR_TCG2_DEVICE_HELP),\r
+          flags  = INTERACTIVE,\r
+            option text = STRING_TOKEN(STR_TCG2_TPM_1_2),          value = TPM_DEVICE_1_2,          flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;\r
+            option text = STRING_TOKEN(STR_TCG2_TPM_2_0_DTPM),     value = TPM_DEVICE_2_0_DTPM,     flags = RESET_REQUIRED;\r
+    endoneof;\r
+\r
+    subtitle text = STRING_TOKEN(STR_NULL);\r
+\r
+    suppressif ideqvallist TCG2_CONFIGURATION.TpmDevice == TPM_DEVICE_NULL TPM_DEVICE_1_2;\r
+    text\r
+      help   = STRING_TOKEN(STR_TPM2_ACTIVE_HASH_ALGO_HELP),\r
+      text   = STRING_TOKEN(STR_TPM2_ACTIVE_HASH_ALGO),\r
+        text   = STRING_TOKEN(STR_TPM2_ACTIVE_HASH_ALGO_CONTENT);\r
+    text\r
+      help   = STRING_TOKEN(STR_TPM2_SUPPORTED_HASH_ALGO_HELP),\r
+      text   = STRING_TOKEN(STR_TPM2_SUPPORTED_HASH_ALGO),\r
+        text   = STRING_TOKEN(STR_TPM2_SUPPORTED_HASH_ALGO_CONTENT);\r
+    text\r
+      help   = STRING_TOKEN(STR_BIOS_HASH_ALGO_HELP),\r
+      text   = STRING_TOKEN(STR_BIOS_HASH_ALGO),\r
+        text   = STRING_TOKEN(STR_BIOS_HASH_ALGO_CONTENT);\r
+\r
+    subtitle text = STRING_TOKEN(STR_NULL);\r
+    subtitle text = STRING_TOKEN(STR_TCG2_PP_OPERATION);\r
+\r
+    oneof name = Tpm2Operation,\r
+          questionid = KEY_TPM2_OPERATION,\r
+          prompt = STRING_TOKEN(STR_TCG2_OPERATION),\r
+          help   = STRING_TOKEN(STR_TCG2_OPERATION_HELP),\r
+          flags  = INTERACTIVE | NUMERIC_SIZE_1,\r
+            option text = STRING_TOKEN(STR_TCG2_NO_ACTION), value = TCG2_PHYSICAL_PRESENCE_NO_ACTION, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;\r
+            option text = STRING_TOKEN(STR_TCG2_ENABLE), value = TCG2_PHYSICAL_PRESENCE_ENABLE, flags = RESET_REQUIRED;\r
+            option text = STRING_TOKEN(STR_TCG2_DISABLE), value = TCG2_PHYSICAL_PRESENCE_DISABLE, flags = RESET_REQUIRED;\r
+            option text = STRING_TOKEN(STR_TCG2_CLEAR), value = TCG2_PHYSICAL_PRESENCE_CLEAR, flags = RESET_REQUIRED;\r
+            option text = STRING_TOKEN(STR_TCG2_SET_PCD_BANKS), value = TCG2_PHYSICAL_PRESENCE_SET_PCR_BANKS, flags = RESET_REQUIRED;\r
+            option text = STRING_TOKEN(STR_TCG2_CHANGE_EPS), value = TCG2_PHYSICAL_PRESENCE_CHANGE_EPS, flags = RESET_REQUIRED;\r
+            option text = STRING_TOKEN(STR_TCG2_LOG_ALL_DIGESTS), value = TCG2_PHYSICAL_PRESENCE_LOG_ALL_DIGESTS, flags = RESET_REQUIRED;\r
+            option text = STRING_TOKEN(STR_TCG2_DISABLE_ENDORSEMENT_ENABLE_STORAGE_HIERARCHY), value = TCG2_PHYSICAL_PRESENCE_DISABLE_ENDORSEMENT_ENABLE_STORAGE_HIERARCHY, flags = RESET_REQUIRED;\r
+\r
+            option text = STRING_TOKEN(STR_TCG2_ENABLE_BLOCK_SID), value = TCG2_PHYSICAL_PRESENCE_ENABLE_BLOCK_SID, flags = RESET_REQUIRED;\r
+            option text = STRING_TOKEN(STR_TCG2_DISABLE_BLOCK_SID), value = TCG2_PHYSICAL_PRESENCE_DISABLE_BLOCK_SID, flags = RESET_REQUIRED;\r
+    endoneof;\r
+    \r
+    suppressif NOT questionref(Tpm2Operation) == TCG2_PHYSICAL_PRESENCE_SET_PCR_BANKS;\r
+    numeric name = Tpm2OperationParameter,\r
+            questionid = KEY_TPM2_OPERATION_PARAMETER,\r
+            prompt  = STRING_TOKEN(STR_TCG2_OPERATION_PARAMETER),\r
+            help    = STRING_TOKEN(STR_TCG2_OPERATION_PARAMETER_HELP),\r
+            flags   = DISPLAY_UINT_HEX | INTERACTIVE | NUMERIC_SIZE_4,\r
+            minimum = 0,\r
+            maximum = 0xFFFFFFFF,\r
+            step    = 0,\r
+            default = 0,\r
+    endnumeric;\r
+    endif;\r
+\r
+    subtitle text = STRING_TOKEN(STR_NULL);\r
+    subtitle text = STRING_TOKEN(STR_TCG2_CONFIGURATION);\r
+\r
+    text\r
+      help   = STRING_TOKEN(STR_TCG2_SUPPORTED_EVENT_LOG_FORMAT_HELP),\r
+      text   = STRING_TOKEN(STR_TCG2_SUPPORTED_EVENT_LOG_FORMAT),\r
+        text   = STRING_TOKEN(STR_TCG2_SUPPORTED_EVENT_LOG_FORMAT_CONTENT);\r
+\r
+    text\r
+      help   = STRING_TOKEN(STR_TCG2_HASH_ALGO_BITMAP_HELP),\r
+      text   = STRING_TOKEN(STR_TCG2_HASH_ALGO_BITMAP),\r
+        text   = STRING_TOKEN(STR_TCG2_HASH_ALGO_BITMAP_CONTENT);\r
+\r
+    text\r
+      help   = STRING_TOKEN(STR_TCG2_NUMBER_OF_PCR_BANKS_HELP),\r
+      text   = STRING_TOKEN(STR_TCG2_NUMBER_OF_PCR_BANKS),\r
+        text   = STRING_TOKEN(STR_TCG2_NUMBER_OF_PCR_BANKS_CONTENT);\r
+\r
+    text\r
+      help   = STRING_TOKEN(STR_TCG2_ACTIVE_PCR_BANKS_HELP),\r
+      text   = STRING_TOKEN(STR_TCG2_ACTIVE_PCR_BANKS),\r
+        text   = STRING_TOKEN(STR_TCG2_ACTIVE_PCR_BANKS_CONTENT);\r
+\r
+    subtitle text = STRING_TOKEN(STR_NULL);\r
+\r
+    checkbox name = TCG2ActivatePCRBank0,\r
+            questionid = KEY_TPM2_PCR_BANKS_REQUEST_0,\r
+            prompt     = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA1),\r
+            help       = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA1_HELP),\r
+            flags      = INTERACTIVE,\r
+            default    = 1,\r
+    endcheckbox;\r
+\r
+    checkbox name = TCG2ActivatePCRBank1,\r
+            questionid = KEY_TPM2_PCR_BANKS_REQUEST_1,\r
+            prompt     = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA256),\r
+            help       = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA256_HELP),\r
+            flags      = INTERACTIVE,\r
+            default    = 0,\r
+    endcheckbox;\r
+\r
+    checkbox name = TCG2ActivatePCRBank2,\r
+            questionid = KEY_TPM2_PCR_BANKS_REQUEST_2,\r
+            prompt     = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA384),\r
+            help       = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA384_HELP),\r
+            flags      = INTERACTIVE,\r
+            default    = 0,\r
+    endcheckbox;\r
+\r
+    checkbox name = TCG2ActivatePCRBank3,\r
+            questionid = KEY_TPM2_PCR_BANKS_REQUEST_3,\r
+            prompt     = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA512),\r
+            help       = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA512_HELP),\r
+            flags      = INTERACTIVE,\r
+            default    = 0,\r
+    endcheckbox;\r
+\r
+    checkbox name = TCG2ActivatePCRBank4,\r
+            questionid = KEY_TPM2_PCR_BANKS_REQUEST_4,\r
+            prompt     = STRING_TOKEN(STR_TCG2_PCR_BANK_SM3_256),\r
+            help       = STRING_TOKEN(STR_TCG2_PCR_BANK_SM3_256_HELP),\r
+            flags      = INTERACTIVE,\r
+            default    = 0,\r
+    endcheckbox;\r
+\r
+    endif;\r
+\r
+  endform;\r
+\r
+endformset;\r