SecurityPkg/TcgConfigDxe: Allow enabling TPM 1.2 device from disabled state.

BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1511

Currently the TCG config setup form defaults the physical presence action to
PHYSICAL_PRESENCE_ENABLE, this prevents the action from being called. When a TPM
1.2 device is in Disabled and Activated state it is not possible to issue the
PHYSICAL_PRESENCE_ENABLE using the menu action.

By having the form default to PHYSICAL_PRESENCE_NO_ACTION, the user is now able
to select PHYSICAL_PRESENCE_ENABLE and toggle the TPM 1.2 device enable state.

Contributed-under: TianoCore Contribution Agreement 1.1

Signed-off-by: Rodrigo Gonzalez del Cueto <rodrigo.gonzalez.del.cueto@intel.com>
Cc: Chao Zhang <chao.b.zhang@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Reviewed-by: Chao Zhang <chao.b.zhang@intel.com>
This commit is contained in:
Gonzalez Del Cueto, Rodrigo 2019-02-04 14:06:57 +08:00 committed by Zhang, Chao B
parent 8a64c7ea00
commit b49758c112
3 changed files with 10 additions and 5 deletions

View File

@ -1,7 +1,7 @@
/** @file
VFR file used by the TCG configuration component.
Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2011 - 2019, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -43,6 +43,10 @@ formset
help = STRING_TOKEN(STR_TPM_OPERATION_HELP),
flags = INTERACTIVE | RESET_REQUIRED,
//
// Default the form to NO ACTION to allow toggling other options
//
option text = STRING_TOKEN(STR_NO_ACTION), value = PHYSICAL_PRESENCE_NO_ACTION, flags = DEFAULT;
//
// Disable (TPM_ORD_PhysicalDisable) command is not available when disabled.
// Activate/deactivate (TPM_ORD_physicalSetDeactivated) command is not available when disabled.
//
@ -61,7 +65,7 @@ formset
option text = STRING_TOKEN(STR_TPM_CLEAR_ENABLE_ACTIVATE), value = PHYSICAL_PRESENCE_CLEAR_ENABLE_ACTIVATE, flags = 0;
endif
option text = STRING_TOKEN(STR_ENABLE), value = PHYSICAL_PRESENCE_ENABLE, flags = DEFAULT;
option text = STRING_TOKEN(STR_ENABLE), value = PHYSICAL_PRESENCE_ENABLE, flags = 0;
option text = STRING_TOKEN(STR_TPM_ENABLE_ACTIVATE), value = PHYSICAL_PRESENCE_ENABLE_ACTIVATE, flags = 0;
option text = STRING_TOKEN(STR_TPM_ENABLE_ACTIVATE_CLEAR), value = PHYSICAL_PRESENCE_ENABLE_ACTIVATE_CLEAR, flags = 0;
option text = STRING_TOKEN(STR_TPM_ENABLE_ACTIVATE_CLEAR_E_A), value = PHYSICAL_PRESENCE_ENABLE_ACTIVATE_CLEAR_ENABLE_ACTIVATE, flags = 0;

View File

@ -1,7 +1,7 @@
/** @file
HII Config Access protocol implementation of TCG configuration module.
Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2011 - 2019, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -176,7 +176,7 @@ TcgExtractConfig (
//
// Convert buffer data to <ConfigResp> by helper function BlockToConfig()
//
PrivateData->Configuration->TpmOperation = PHYSICAL_PRESENCE_ENABLE;
PrivateData->Configuration->TpmOperation = PHYSICAL_PRESENCE_NO_ACTION;
//
// Get current TPM state.

View File

@ -1,7 +1,7 @@
/** @file
String definitions for TCG configuration form.
Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2011 - 2019, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -23,6 +23,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#string STR_TPM_OPERATION #language en-US "TPM Operation"
#string STR_TPM_OPERATION_HELP #language en-US "Select one of the supported operation to change TPM state."
#string STR_NO_ACTION #language en-US "No Action"
#string STR_ENABLE #language en-US "Enable"
#string STR_DISABLE #language en-US "Disable"
#string STR_TPM_ACTIVATE #language en-US "Activate"