From 64047cb68c6b70475446137011b40cf5e006433d Mon Sep 17 00:00:00 2001 From: Jiewen Yao Date: Wed, 14 Mar 2018 21:54:59 +0800 Subject: [PATCH] SecurityPkg/Tpm2DeviceLibTrEE: remove TrEE. TrEE is deprecated. We need use Tcg2. Cc: Chao B Zhang Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jiewen Yao Reviewed-by: Chao B Zhang --- .../Tpm2DeviceLibTrEE/Tpm2DeviceLibTrEE.c | 125 ------------------ .../Tpm2DeviceLibTrEE/Tpm2DeviceLibTrEE.inf | 46 ------- .../Tpm2DeviceLibTrEE/Tpm2DeviceLibTrEE.uni | 22 --- 3 files changed, 193 deletions(-) delete mode 100644 SecurityPkg/Library/Tpm2DeviceLibTrEE/Tpm2DeviceLibTrEE.c delete mode 100644 SecurityPkg/Library/Tpm2DeviceLibTrEE/Tpm2DeviceLibTrEE.inf delete mode 100644 SecurityPkg/Library/Tpm2DeviceLibTrEE/Tpm2DeviceLibTrEE.uni diff --git a/SecurityPkg/Library/Tpm2DeviceLibTrEE/Tpm2DeviceLibTrEE.c b/SecurityPkg/Library/Tpm2DeviceLibTrEE/Tpm2DeviceLibTrEE.c deleted file mode 100644 index dc7b270705..0000000000 --- a/SecurityPkg/Library/Tpm2DeviceLibTrEE/Tpm2DeviceLibTrEE.c +++ /dev/null @@ -1,125 +0,0 @@ -/** @file - This library is TPM2 TREE protocol lib. - -Copyright (c) 2013 - 2016, 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 -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -#include -#include -#include -#include -#include -#include -#include - -EFI_TREE_PROTOCOL *mTreeProtocol = NULL; - -/** - This service enables the sending of commands to the TPM2. - - @param[in] InputParameterBlockSize Size of the TPM2 input parameter block. - @param[in] InputParameterBlock Pointer to the TPM2 input parameter block. - @param[in,out] OutputParameterBlockSize Size of the TPM2 output parameter block. - @param[in] OutputParameterBlock Pointer to the TPM2 output parameter block. - - @retval EFI_SUCCESS The command byte stream was successfully sent to the device and a response was successfully received. - @retval EFI_DEVICE_ERROR The command was not successfully sent to the device or a response was not successfully received from the device. - @retval EFI_BUFFER_TOO_SMALL The output parameter block is too small. -**/ -EFI_STATUS -EFIAPI -Tpm2SubmitCommand ( - IN UINT32 InputParameterBlockSize, - IN UINT8 *InputParameterBlock, - IN OUT UINT32 *OutputParameterBlockSize, - IN UINT8 *OutputParameterBlock - ) -{ - EFI_STATUS Status; - TPM2_RESPONSE_HEADER *Header; - - if (mTreeProtocol == NULL) { - Status = gBS->LocateProtocol (&gEfiTrEEProtocolGuid, NULL, (VOID **) &mTreeProtocol); - if (EFI_ERROR (Status)) { - // - // TrEE protocol is not installed. So, TPM2 is not present. - // - DEBUG ((EFI_D_ERROR, "Tpm2SubmitCommand - TrEE - %r\n", Status)); - return EFI_NOT_FOUND; - } - } - // - // Assume when TrEE Protocol is ready, RequestUseTpm already done. - // - Status = mTreeProtocol->SubmitCommand ( - mTreeProtocol, - InputParameterBlockSize, - InputParameterBlock, - *OutputParameterBlockSize, - OutputParameterBlock - ); - if (EFI_ERROR (Status)) { - return Status; - } - Header = (TPM2_RESPONSE_HEADER *)OutputParameterBlock; - *OutputParameterBlockSize = SwapBytes32 (Header->paramSize); - - return EFI_SUCCESS; -} - -/** - This service requests use TPM2. - - @retval EFI_SUCCESS Get the control of TPM2 chip. - @retval EFI_NOT_FOUND TPM2 not found. - @retval EFI_DEVICE_ERROR Unexpected device behavior. -**/ -EFI_STATUS -EFIAPI -Tpm2RequestUseTpm ( - VOID - ) -{ - EFI_STATUS Status; - - if (mTreeProtocol == NULL) { - Status = gBS->LocateProtocol (&gEfiTrEEProtocolGuid, NULL, (VOID **) &mTreeProtocol); - if (EFI_ERROR (Status)) { - // - // TrEE protocol is not installed. So, TPM2 is not present. - // - DEBUG ((EFI_D_ERROR, "Tpm2RequestUseTpm - TrEE - %r\n", Status)); - return EFI_NOT_FOUND; - } - } - // - // Assume when TrEE Protocol is ready, RequestUseTpm already done. - // - return EFI_SUCCESS; -} - -/** - This service register TPM2 device. - - @param Tpm2Device TPM2 device - - @retval EFI_SUCCESS This TPM2 device is registered successfully. - @retval EFI_UNSUPPORTED System does not support register this TPM2 device. - @retval EFI_ALREADY_STARTED System already register this TPM2 device. -**/ -EFI_STATUS -EFIAPI -Tpm2RegisterTpm2DeviceLib ( - IN TPM2_DEVICE_INTERFACE *Tpm2Device - ) -{ - return EFI_UNSUPPORTED; -} diff --git a/SecurityPkg/Library/Tpm2DeviceLibTrEE/Tpm2DeviceLibTrEE.inf b/SecurityPkg/Library/Tpm2DeviceLibTrEE/Tpm2DeviceLibTrEE.inf deleted file mode 100644 index 81195e6704..0000000000 --- a/SecurityPkg/Library/Tpm2DeviceLibTrEE/Tpm2DeviceLibTrEE.inf +++ /dev/null @@ -1,46 +0,0 @@ -## @file -# Provides function interfaces to communicate with TPM 2.0 device -# -# This library helps to use TPM 2.0 device in library function API -# based on TrEE protocol. -# -# Copyright (c) 2013 - 2014, 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 -# http://opensource.org/licenses/bsd-license.php -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -## - -[Defines] - INF_VERSION = 0x00010005 - BASE_NAME = Tpm2DeviceLibTrEE - MODULE_UNI_FILE = Tpm2DeviceLibTrEE.uni - FILE_GUID = BBCB6F85-303C-4eb9-8182-AF98D4B3020C - MODULE_TYPE = DXE_DRIVER - VERSION_STRING = 1.0 - LIBRARY_CLASS = Tpm2DeviceLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER - -# -# The following information is for reference only and not required by the build tools. -# -# VALID_ARCHITECTURES = IA32 X64 IPF -# - -[Sources] - Tpm2DeviceLibTrEE.c - -[Packages] - MdePkg/MdePkg.dec - SecurityPkg/SecurityPkg.dec - -[LibraryClasses] - BaseLib - BaseMemoryLib - DebugLib - UefiBootServicesTableLib - -[Protocols] - gEfiTrEEProtocolGuid ## CONSUMES diff --git a/SecurityPkg/Library/Tpm2DeviceLibTrEE/Tpm2DeviceLibTrEE.uni b/SecurityPkg/Library/Tpm2DeviceLibTrEE/Tpm2DeviceLibTrEE.uni deleted file mode 100644 index d6defd04c8..0000000000 --- a/SecurityPkg/Library/Tpm2DeviceLibTrEE/Tpm2DeviceLibTrEE.uni +++ /dev/null @@ -1,22 +0,0 @@ -// /** @file -// Provides function interfaces to communicate with TPM 2.0 device -// -// This library helps to use TPM 2.0 device in library function API -// based on TrEE protocol. -// -// Copyright (c) 2013 - 2014, 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 -// http://opensource.org/licenses/bsd-license.php -// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -// -// **/ - - -#string STR_MODULE_ABSTRACT #language en-US "Provides function interfaces to communicate with TPM 2.0 device" - -#string STR_MODULE_DESCRIPTION #language en-US "This library helps to use TPM 2.0 device in library function API based on TrEE protocol." - -- 2.39.2