summaryrefslogtreecommitdiff
path: root/SecurityPkg
diff options
context:
space:
mode:
authorMichael Kinney <michael.d.kinney@intel.com>2016-01-21 19:29:43 +0000
committermdkinney <mdkinney@Edk2>2016-01-21 19:29:43 +0000
commitcc71e26372bfcfa347fb835bdd63a82d5e22af63 (patch)
tree991dc6fd4705e6f15bf4852ed94d7b27df037216 /SecurityPkg
parentc132457ea79c4cfff5c7baaab4e6100d9084fc9e (diff)
downloadedk2-cc71e26372bfcfa347fb835bdd63a82d5e22af63.zip
edk2-cc71e26372bfcfa347fb835bdd63a82d5e22af63.tar.gz
edk2-cc71e26372bfcfa347fb835bdd63a82d5e22af63.tar.bz2
SecurityPkg/TrEEConfig: Remove use of IoLib
Remove the use of the IoLib and Mmioxx() calls to detect dTPM. This module calls the Tpm12DeviceLib to detect a TPM and the implementation of the Tpm12DeviceLib for dTPM performs the same Mmioxx() calls to detect a dTPM. This change makes this module more generic and portable by maximizing the use of the Tpm12DeviceLib abstraction for TPM detection. Cc: Chao Zhang <chao.b.zhang@intel.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Michael Kinney <michael.d.kinney@intel.com> Reviewed-by: Chao Zhang <chao.b.zhang@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19724 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'SecurityPkg')
-rw-r--r--SecurityPkg/Tcg/TrEEConfig/TpmDetection.c35
-rw-r--r--SecurityPkg/Tcg/TrEEConfig/TrEEConfigPei.inf3
2 files changed, 6 insertions, 32 deletions
diff --git a/SecurityPkg/Tcg/TrEEConfig/TpmDetection.c b/SecurityPkg/Tcg/TrEEConfig/TpmDetection.c
index 54b1ff1..4e675d3 100644
--- a/SecurityPkg/Tcg/TrEEConfig/TpmDetection.c
+++ b/SecurityPkg/Tcg/TrEEConfig/TpmDetection.c
@@ -1,7 +1,7 @@
/** @file
TPM1.2/dTPM2.0 auto detection.
-Copyright (c) 2013 - 2015, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2013 - 2016, 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
@@ -18,7 +18,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include <Library/BaseLib.h>
#include <Library/BaseMemoryLib.h>
-#include <Library/IoLib.h>
#include <Library/DebugLib.h>
#include <Library/PeiServicesLib.h>
#include <Library/PcdLib.h>
@@ -29,29 +28,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include "TrEEConfigNvData.h"
/**
- This routine return if dTPM (1.2 or 2.0) present.
-
- @retval TRUE dTPM present
- @retval FALSE dTPM not present
-**/
-BOOLEAN
-IsDtpmPresent (
- VOID
- )
-{
- UINT8 RegRead;
-
- RegRead = MmioRead8 ((UINTN)PcdGet64 (PcdTpmBaseAddress));
- if (RegRead == 0xFF) {
- DEBUG ((EFI_D_ERROR, "DetectTpmDevice: Dtpm not present\n"));
- return FALSE;
- } else {
- DEBUG ((EFI_D_INFO, "DetectTpmDevice: Dtpm present\n"));
- return TRUE;
- }
-}
-
-/**
This routine check both SetupVariable and real TPM device, and return final TpmDevice configuration.
@param SetupTpmDevice TpmDevice configuration in setup driver
@@ -100,10 +76,6 @@ DetectTpmDevice (
}
DEBUG ((EFI_D_INFO, "DetectTpmDevice:\n"));
- if (!IsDtpmPresent ()) {
- // dTPM not available
- return TPM_DEVICE_NULL;
- }
// dTPM available and not disabled by setup
// We need check if it is TPM1.2 or TPM2.0
@@ -111,7 +83,10 @@ DetectTpmDevice (
Status = Tpm12RequestUseTpm ();
if (EFI_ERROR (Status)) {
- return TPM_DEVICE_2_0_DTPM;
+ //
+ // dTPM not available
+ //
+ return TPM_DEVICE_NULL;
}
if (BootMode == BOOT_ON_S3_RESUME) {
diff --git a/SecurityPkg/Tcg/TrEEConfig/TrEEConfigPei.inf b/SecurityPkg/Tcg/TrEEConfig/TrEEConfigPei.inf
index e8de529..a4d6b58 100644
--- a/SecurityPkg/Tcg/TrEEConfig/TrEEConfigPei.inf
+++ b/SecurityPkg/Tcg/TrEEConfig/TrEEConfigPei.inf
@@ -4,7 +4,7 @@
# This module initializes TPM device type based on variable and detection.
# NOTE: This module is only for reference only, each platform should have its own setup page.
#
-# Copyright (c) 2013 - 2015, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2013 - 2016, 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
@@ -49,7 +49,6 @@
DebugLib
PcdLib
TimerLib
- IoLib
Tpm12CommandLib
Tpm12DeviceLib