/** @file\r
TPM1.2/dTPM2.0 auto detection.\r
\r
-Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials \r
-are licensed and made available under the terms and conditions of the BSD License \r
-which accompanies this distribution. The full text of the license may be found at \r
+Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
http://opensource.org/licenses/bsd-license.php\r
\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
\r
**/\r
\r
#include <Library/BaseLib.h>\r
#include <Library/BaseMemoryLib.h>\r
-#include <Library/IoLib.h>\r
#include <Library/DebugLib.h>\r
#include <Library/PeiServicesLib.h>\r
#include <Library/PcdLib.h>\r
\r
#include "Tcg2ConfigNvData.h"\r
\r
-/**\r
- This routine return if dTPM (1.2 or 2.0) present.\r
-\r
- @retval TRUE dTPM present\r
- @retval FALSE dTPM not present\r
-**/\r
-BOOLEAN\r
-IsDtpmPresent (\r
- VOID\r
- )\r
-{\r
- UINT8 RegRead;\r
- \r
- RegRead = MmioRead8 ((UINTN)PcdGet64 (PcdTpmBaseAddress));\r
- if (RegRead == 0xFF) {\r
- DEBUG ((EFI_D_ERROR, "DetectTpmDevice: Dtpm not present\n"));\r
- return FALSE;\r
- } else {\r
- DEBUG ((EFI_D_INFO, "DetectTpmDevice: Dtpm present\n"));\r
- return TRUE;\r
- }\r
-}\r
-\r
/**\r
This routine check both SetupVariable and real TPM device, and return final TpmDevice configuration.\r
\r
}\r
\r
DEBUG ((EFI_D_INFO, "DetectTpmDevice:\n"));\r
- if (!IsDtpmPresent ()) {\r
- // dTPM not available\r
- return TPM_DEVICE_NULL;\r
- }\r
\r
// dTPM available and not disabled by setup\r
// We need check if it is TPM1.2 or TPM2.0\r
\r
Status = Tpm12RequestUseTpm ();\r
if (EFI_ERROR (Status)) {\r
- return TPM_DEVICE_2_0_DTPM;\r
+ //\r
+ // dTPM not available\r
+ //\r
+ return TPM_DEVICE_NULL;\r
}\r
\r
if (BootMode == BOOT_ON_S3_RESUME) {\r
}\r
\r
// NO initialization needed again.\r
- PcdSet8 (PcdTpmInitializationPolicy, 0);\r
+ Status = PcdSet8S (PcdTpmInitializationPolicy, 0);\r
+ ASSERT_EFI_ERROR (Status);\r
return TPM_DEVICE_1_2;\r
}\r