From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.43; helo=mga05.intel.com; envelope-from=rodrigo.gonzalez.del.cueto@intel.com; receiver=edk2-devel@lists.01.org Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id C686F211B63F7 for ; Sun, 3 Feb 2019 22:07:02 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Feb 2019 22:07:02 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,559,1539673200"; d="scan'208";a="113469954" Received: from fm73lab177.amr.corp.intel.com ([10.80.209.179]) by orsmga006.jf.intel.com with ESMTP; 03 Feb 2019 22:07:01 -0800 From: Rodrigo Gonzalez del Cueto To: edk2-devel@lists.01.org Cc: Rodrigo Gonzalez del Cueto , Chao Zhang , Jiewen Yao Date: Sun, 3 Feb 2019 22:06:57 -0800 Message-Id: <20190204060657.38860-1-rodrigo.gonzalez.del.cueto@intel.com> X-Mailer: git-send-email 2.20.1.windows.1 MIME-Version: 1.0 Subject: [PATCH] SecurityPkg/TcgConfigDxe: Allow enabling TPM 1.2 device from disabled state. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Feb 2019 06:07:03 -0000 Content-Transfer-Encoding: 8bit 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 Cc: Chao Zhang Cc: Jiewen Yao --- SecurityPkg/Tcg/TcgConfigDxe/TcgConfig.vfr | 8 ++++++-- SecurityPkg/Tcg/TcgConfigDxe/TcgConfigImpl.c | 4 ++-- SecurityPkg/Tcg/TcgConfigDxe/TcgConfigStrings.uni | 3 ++- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/SecurityPkg/Tcg/TcgConfigDxe/TcgConfig.vfr b/SecurityPkg/Tcg/TcgConfigDxe/TcgConfig.vfr index b0a7bf6f47..1047475cef 100644 --- a/SecurityPkg/Tcg/TcgConfigDxe/TcgConfig.vfr +++ b/SecurityPkg/Tcg/TcgConfigDxe/TcgConfig.vfr @@ -1,7 +1,7 @@ /** @file VFR file used by the TCG configuration component. -Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.
+Copyright (c) 2011 - 2019, Intel Corporation. All rights reserved.
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; diff --git a/SecurityPkg/Tcg/TcgConfigDxe/TcgConfigImpl.c b/SecurityPkg/Tcg/TcgConfigDxe/TcgConfigImpl.c index a306bbbb5c..4455fd2b48 100644 --- a/SecurityPkg/Tcg/TcgConfigDxe/TcgConfigImpl.c +++ b/SecurityPkg/Tcg/TcgConfigDxe/TcgConfigImpl.c @@ -1,7 +1,7 @@ /** @file HII Config Access protocol implementation of TCG configuration module. -Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.
+Copyright (c) 2011 - 2019, Intel Corporation. All rights reserved.
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 by helper function BlockToConfig() // - PrivateData->Configuration->TpmOperation = PHYSICAL_PRESENCE_ENABLE; + PrivateData->Configuration->TpmOperation = PHYSICAL_PRESENCE_NO_ACTION; // // Get current TPM state. diff --git a/SecurityPkg/Tcg/TcgConfigDxe/TcgConfigStrings.uni b/SecurityPkg/Tcg/TcgConfigDxe/TcgConfigStrings.uni index 7a84462a6e..3c3f0f7ddb 100644 --- a/SecurityPkg/Tcg/TcgConfigDxe/TcgConfigStrings.uni +++ b/SecurityPkg/Tcg/TcgConfigDxe/TcgConfigStrings.uni @@ -1,7 +1,7 @@ /** @file String definitions for TCG configuration form. -Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.
+Copyright (c) 2011 - 2019, Intel Corporation. All rights reserved.
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" -- 2.20.1.windows.1