/** @file VFR file used by the TCG2 configuration component. Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include "Tcg2ConfigNvData.h" formset guid = TCG2_CONFIG_FORM_SET_GUID, title = STRING_TOKEN(STR_TCG2_TITLE), help = STRING_TOKEN(STR_TCG2_HELP), classguid = EFI_HII_PLATFORM_SETUP_FORMSET_GUID, efivarstore TCG2_CONFIGURATION_INFO, varid = TCG2_CONFIGURATION_INFO_VARSTORE_ID, attribute = 0x02, // EFI variable attributes EFI_VARIABLE_BOOTSERVICE_ACCESS name = TCG2_CONFIGURATION_INFO, guid = TCG2_CONFIG_FORM_SET_GUID; efivarstore TCG2_CONFIGURATION, varid = TCG2_CONFIGURATION_VARSTORE_ID, attribute = 0x03, // EFI variable attributes EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_NON_VOLATILE name = TCG2_CONFIGURATION, guid = TCG2_CONFIG_FORM_SET_GUID; efivarstore TCG2_VERSION, varid = TCG2_VERSION_VARSTORE_ID, attribute = 0x03, // EFI variable attributes EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_NON_VOLATILE name = TCG2_VERSION, guid = TCG2_CONFIG_FORM_SET_GUID; form formid = TCG2_CONFIGURATION_FORM_ID, title = STRING_TOKEN(STR_TCG2_TITLE); subtitle text = STRING_TOKEN(STR_NULL); text help = STRING_TOKEN(STR_TCG2_DEVICE_STATE_HELP), text = STRING_TOKEN(STR_TCG2_DEVICE_STATE_PROMPT), text = STRING_TOKEN(STR_TCG2_DEVICE_STATE_CONTENT); oneof varid = TCG2_CONFIGURATION.TpmDevice, questionid = KEY_TPM_DEVICE, prompt = STRING_TOKEN(STR_TCG2_DEVICE_PROMPT), help = STRING_TOKEN(STR_TCG2_DEVICE_HELP), flags = INTERACTIVE, option text = STRING_TOKEN(STR_TCG2_TPM_1_2), value = TPM_DEVICE_1_2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED; option text = STRING_TOKEN(STR_TCG2_TPM_2_0_DTPM), value = TPM_DEVICE_2_0_DTPM, flags = RESET_REQUIRED; endoneof; suppressif ideqvallist TCG2_CONFIGURATION.TpmDevice == TPM_DEVICE_NULL TPM_DEVICE_1_2; subtitle text = STRING_TOKEN(STR_NULL); text help = STRING_TOKEN(STR_TPM2_ACPI_HID_HELP), text = STRING_TOKEN(STR_TPM2_ACPI_HID_PROMPT), text = STRING_TOKEN(STR_TPM2_ACPI_HID_CONTENT); text help = STRING_TOKEN(STR_TPM2_ACPI_REVISION_STATE_HELP), text = STRING_TOKEN(STR_TPM2_ACPI_REVISION_STATE_PROMPT), text = STRING_TOKEN(STR_TPM2_ACPI_REVISION_STATE_CONTENT); oneof varid = TCG2_VERSION.Tpm2AcpiTableRev, questionid = KEY_TPM2_ACPI_REVISION, prompt = STRING_TOKEN(STR_TPM2_ACPI_REVISION_PROMPT), help = STRING_TOKEN(STR_TPM2_ACPI_REVISION_HELP), flags = INTERACTIVE, option text = STRING_TOKEN(STR_TPM2_ACPI_REVISION_3), value = TPM2_ACPI_REVISION_3, flags = RESET_REQUIRED; option text = STRING_TOKEN(STR_TPM2_ACPI_REVISION_4), value = TPM2_ACPI_REVISION_4, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED; endoneof; subtitle text = STRING_TOKEN(STR_NULL); text help = STRING_TOKEN(STR_TCG2_DEVICE_INTERFACE_STATE_HELP), text = STRING_TOKEN(STR_TCG2_DEVICE_INTERFACE_STATE_PROMPT), text = STRING_TOKEN(STR_TCG2_DEVICE_INTERFACE_STATE_CONTENT); text help = STRING_TOKEN(STR_TCG2_DEVICE_INTERFACE_CAPABILITY_HELP), text = STRING_TOKEN(STR_TCG2_DEVICE_INTERFACE_CAPABILITY_PROMPT), text = STRING_TOKEN(STR_TCG2_DEVICE_INTERFACE_CAPABILITY_CONTENT); suppressif ideqval TCG2_CONFIGURATION_INFO.TpmDeviceInterfacePtpFifoSupported == 0 OR ideqval TCG2_CONFIGURATION_INFO.TpmDeviceInterfacePtpCrbSupported == 0; oneof varid = TCG2_CONFIGURATION_INFO.TpmDeviceInterfaceAttempt, questionid = KEY_TPM_DEVICE_INTERFACE, prompt = STRING_TOKEN(STR_TCG2_DEVICE_INTERFACE_PROMPT), help = STRING_TOKEN(STR_TCG2_DEVICE_INTERFACE_HELP), flags = INTERACTIVE, option text = STRING_TOKEN(STR_TCG2_DEVICE_INTERFACE_TIS), value = TPM_DEVICE_INTERFACE_TIS, flags = RESET_REQUIRED; option text = STRING_TOKEN(STR_TCG2_DEVICE_INTERFACE_PTP_FIFO), value = TPM_DEVICE_INTERFACE_PTP_FIFO, flags = RESET_REQUIRED; option text = STRING_TOKEN(STR_TCG2_DEVICE_INTERFACE_PTP_CRB), value = TPM_DEVICE_INTERFACE_PTP_CRB, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED; endoneof; endif; endif; subtitle text = STRING_TOKEN(STR_NULL); suppressif ideqvallist TCG2_CONFIGURATION.TpmDevice == TPM_DEVICE_NULL TPM_DEVICE_1_2; text help = STRING_TOKEN(STR_TPM2_ACTIVE_HASH_ALGO_HELP), text = STRING_TOKEN(STR_TPM2_ACTIVE_HASH_ALGO), text = STRING_TOKEN(STR_TPM2_ACTIVE_HASH_ALGO_CONTENT); text help = STRING_TOKEN(STR_TPM2_SUPPORTED_HASH_ALGO_HELP), text = STRING_TOKEN(STR_TPM2_SUPPORTED_HASH_ALGO), text = STRING_TOKEN(STR_TPM2_SUPPORTED_HASH_ALGO_CONTENT); text help = STRING_TOKEN(STR_BIOS_HASH_ALGO_HELP), text = STRING_TOKEN(STR_BIOS_HASH_ALGO), text = STRING_TOKEN(STR_BIOS_HASH_ALGO_CONTENT); subtitle text = STRING_TOKEN(STR_NULL); subtitle text = STRING_TOKEN(STR_TCG2_PP_OPERATION); text help = STRING_TOKEN(STR_TCG2_PPI_VERSION_STATE_HELP), text = STRING_TOKEN(STR_TCG2_PPI_VERSION_STATE_PROMPT), text = STRING_TOKEN(STR_TCG2_PPI_VERSION_STATE_CONTENT); oneof varid = TCG2_VERSION.PpiVersion, questionid = KEY_TCG2_PPI_VERSION, prompt = STRING_TOKEN(STR_TCG2_PPI_VERSION_PROMPT), help = STRING_TOKEN(STR_TCG2_PPI_VERSION_HELP), flags = INTERACTIVE, option text = STRING_TOKEN(STR_TCG2_PPI_VERSION_1_2), value = TCG2_PPI_VERSION_1_2, flags = RESET_REQUIRED; option text = STRING_TOKEN(STR_TCG2_PPI_VERSION_1_3), value = TCG2_PPI_VERSION_1_3, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED; endoneof; oneof name = Tpm2Operation, questionid = KEY_TPM2_OPERATION, prompt = STRING_TOKEN(STR_TCG2_OPERATION), help = STRING_TOKEN(STR_TCG2_OPERATION_HELP), flags = INTERACTIVE | NUMERIC_SIZE_1, option text = STRING_TOKEN(STR_TCG2_NO_ACTION), value = TCG2_PHYSICAL_PRESENCE_NO_ACTION, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED; option text = STRING_TOKEN(STR_TCG2_ENABLE), value = TCG2_PHYSICAL_PRESENCE_ENABLE, flags = RESET_REQUIRED; option text = STRING_TOKEN(STR_TCG2_DISABLE), value = TCG2_PHYSICAL_PRESENCE_DISABLE, flags = RESET_REQUIRED; option text = STRING_TOKEN(STR_TCG2_CLEAR), value = TCG2_PHYSICAL_PRESENCE_CLEAR, flags = RESET_REQUIRED; option text = STRING_TOKEN(STR_TCG2_SET_PCD_BANKS), value = TCG2_PHYSICAL_PRESENCE_SET_PCR_BANKS, flags = RESET_REQUIRED; suppressif ideqval TCG2_CONFIGURATION_INFO.ChangeEPSSupported == 0; option text = STRING_TOKEN(STR_TCG2_CHANGE_EPS), value = TCG2_PHYSICAL_PRESENCE_CHANGE_EPS, flags = RESET_REQUIRED; endif option text = STRING_TOKEN(STR_TCG2_LOG_ALL_DIGESTS), value = TCG2_PHYSICAL_PRESENCE_LOG_ALL_DIGESTS, flags = RESET_REQUIRED; option text = STRING_TOKEN(STR_TCG2_DISABLE_ENDORSEMENT_ENABLE_STORAGE_HIERARCHY), value = TCG2_PHYSICAL_PRESENCE_DISABLE_ENDORSEMENT_ENABLE_STORAGE_HIERARCHY, flags = RESET_REQUIRED; endoneof; suppressif NOT questionref(Tpm2Operation) == TCG2_PHYSICAL_PRESENCE_SET_PCR_BANKS; numeric name = Tpm2OperationParameter, questionid = KEY_TPM2_OPERATION_PARAMETER, prompt = STRING_TOKEN(STR_TCG2_OPERATION_PARAMETER), help = STRING_TOKEN(STR_TCG2_OPERATION_PARAMETER_HELP), flags = DISPLAY_UINT_HEX | INTERACTIVE | NUMERIC_SIZE_4, minimum = 0, maximum = 0xFFFFFFFF, step = 0, default = 0, endnumeric; endif; subtitle text = STRING_TOKEN(STR_NULL); subtitle text = STRING_TOKEN(STR_TCG2_CONFIGURATION); text help = STRING_TOKEN(STR_TCG2_SUPPORTED_EVENT_LOG_FORMAT_HELP), text = STRING_TOKEN(STR_TCG2_SUPPORTED_EVENT_LOG_FORMAT), text = STRING_TOKEN(STR_TCG2_SUPPORTED_EVENT_LOG_FORMAT_CONTENT); text help = STRING_TOKEN(STR_TCG2_HASH_ALGO_BITMAP_HELP), text = STRING_TOKEN(STR_TCG2_HASH_ALGO_BITMAP), text = STRING_TOKEN(STR_TCG2_HASH_ALGO_BITMAP_CONTENT); text help = STRING_TOKEN(STR_TCG2_NUMBER_OF_PCR_BANKS_HELP), text = STRING_TOKEN(STR_TCG2_NUMBER_OF_PCR_BANKS), text = STRING_TOKEN(STR_TCG2_NUMBER_OF_PCR_BANKS_CONTENT); text help = STRING_TOKEN(STR_TCG2_ACTIVE_PCR_BANKS_HELP), text = STRING_TOKEN(STR_TCG2_ACTIVE_PCR_BANKS), text = STRING_TOKEN(STR_TCG2_ACTIVE_PCR_BANKS_CONTENT); subtitle text = STRING_TOKEN(STR_NULL); suppressif ideqval TCG2_CONFIGURATION_INFO.Sha1Supported == 0; checkbox name = TCG2ActivatePCRBank0, questionid = KEY_TPM2_PCR_BANKS_REQUEST_0, prompt = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA1), help = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA1_HELP), flags = INTERACTIVE | RESET_REQUIRED, default = 1, endcheckbox; endif; suppressif ideqval TCG2_CONFIGURATION_INFO.Sha256Supported == 0; checkbox name = TCG2ActivatePCRBank1, questionid = KEY_TPM2_PCR_BANKS_REQUEST_1, prompt = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA256), help = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA256_HELP), flags = INTERACTIVE | RESET_REQUIRED, default = 0, endcheckbox; endif; suppressif ideqval TCG2_CONFIGURATION_INFO.Sha384Supported == 0; checkbox name = TCG2ActivatePCRBank2, questionid = KEY_TPM2_PCR_BANKS_REQUEST_2, prompt = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA384), help = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA384_HELP), flags = INTERACTIVE | RESET_REQUIRED, default = 0, endcheckbox; endif; suppressif ideqval TCG2_CONFIGURATION_INFO.Sha512Supported == 0; checkbox name = TCG2ActivatePCRBank3, questionid = KEY_TPM2_PCR_BANKS_REQUEST_3, prompt = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA512), help = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA512_HELP), flags = INTERACTIVE | RESET_REQUIRED, default = 0, endcheckbox; endif; suppressif ideqval TCG2_CONFIGURATION_INFO.Sm3Supported == 0; checkbox name = TCG2ActivatePCRBank4, questionid = KEY_TPM2_PCR_BANKS_REQUEST_4, prompt = STRING_TOKEN(STR_TCG2_PCR_BANK_SM3_256), help = STRING_TOKEN(STR_TCG2_PCR_BANK_SM3_256_HELP), flags = INTERACTIVE | RESET_REQUIRED, default = 0, endcheckbox; endif; endif; endform; endformset;