This library is intended to be used by BDS modules.\r
This library will execute TPM2 request.\r
\r
-Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2015 - 2020, Intel Corporation. All rights reserved.<BR>\r
SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
#define TCG2_BIOS_STORAGE_MANAGEMENT_FLAG_PP_REQUIRED_FOR_DISABLE_BLOCK_SID BIT17\r
#define TCG2_BIOS_STORAGE_MANAGEMENT_FLAG_ENABLE_BLOCK_SID BIT18\r
\r
-//\r
-// Default value\r
-//\r
-#define TCG2_BIOS_TPM_MANAGEMENT_FLAG_DEFAULT (TCG2_BIOS_TPM_MANAGEMENT_FLAG_PP_REQUIRED_FOR_TURN_OFF | \\r
- TCG2_BIOS_TPM_MANAGEMENT_FLAG_PP_REQUIRED_FOR_CLEAR | \\r
- TCG2_BIOS_TPM_MANAGEMENT_FLAG_PP_REQUIRED_FOR_CHANGE_EPS | \\r
- TCG2_BIOS_TPM_MANAGEMENT_FLAG_PP_REQUIRED_FOR_CHANGE_PCRS)\r
-\r
-//\r
-// Default value\r
-//\r
-#define TCG2_BIOS_STORAGE_MANAGEMENT_FLAG_DEFAULT (TCG2_BIOS_STORAGE_MANAGEMENT_FLAG_PP_REQUIRED_FOR_ENABLE_BLOCK_SID | \\r
- TCG2_BIOS_STORAGE_MANAGEMENT_FLAG_PP_REQUIRED_FOR_DISABLE_BLOCK_SID |\\r
- TCG2_BIOS_STORAGE_MANAGEMENT_FLAG_ENABLE_BLOCK_SID)\r
-\r
/**\r
Check and execute the pending TPM request.\r
\r
\r
Tpm2ExecutePendingTpmRequest() will receive untrusted input and do validation.\r
\r
-Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2013 - 2020, Intel Corporation. All rights reserved.<BR>\r
SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
&Flags\r
);\r
if (EFI_ERROR (Status)) {\r
- Flags.PPFlags = TCG2_BIOS_TPM_MANAGEMENT_FLAG_DEFAULT | TCG2_BIOS_STORAGE_MANAGEMENT_FLAG_DEFAULT;\r
+ Flags.PPFlags = PcdGet32(PcdTcg2PhysicalPresenceFlags);\r
}\r
return Tcg2PpVendorLibSubmitRequestToPreOSFunction (OperationRequest, Flags.PPFlags, RequestParameter);\r
}\r
&PpiFlags\r
);\r
if (EFI_ERROR (Status)) {\r
- PpiFlags.PPFlags = TCG2_BIOS_TPM_MANAGEMENT_FLAG_DEFAULT | TCG2_BIOS_STORAGE_MANAGEMENT_FLAG_DEFAULT;\r
+ PpiFlags.PPFlags = PcdGet32(PcdTcg2PhysicalPresenceFlags);\r
}\r
return PpiFlags.PPFlags;\r
}\r
\r
This library will get TPM 2.0 physical presence information.\r
\r
-Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2015 - 2020, Intel Corporation. All rights reserved.<BR>\r
SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
&PpiFlags\r
);\r
if (EFI_ERROR (Status)) {\r
- PpiFlags.PPFlags = TCG2_BIOS_TPM_MANAGEMENT_FLAG_DEFAULT | TCG2_BIOS_STORAGE_MANAGEMENT_FLAG_DEFAULT;\r
+ PpiFlags.PPFlags = PcdGet32(PcdTcg2PhysicalPresenceFlags);\r
}\r
return PpiFlags.PPFlags;\r
}\r
#\r
# This library will get TPM 2.0 physical presence information.\r
#\r
-# Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2015 - 2020, Intel Corporation. All rights reserved.<BR>\r
# SPDX-License-Identifier: BSD-2-Clause-Patent\r
#\r
##\r
[Ppis]\r
gEfiPeiReadOnlyVariable2PpiGuid ## CONSUMES\r
\r
+[Pcd]\r
+ gEfiSecurityPkgTokenSpaceGuid.PcdTcg2PhysicalPresenceFlags ## SOMETIMES_CONSUMES\r
+\r
[Depex]\r
gEfiPeiReadOnlyVariable2PpiGuid\r
Tcg2PhysicalPresenceLibSubmitRequestToPreOSFunction() and Tcg2PhysicalPresenceLibGetUserConfirmationStatusFunction()\r
will receive untrusted input and do validation.\r
\r
-Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2015 - 2020, Intel Corporation. All rights reserved.<BR>\r
SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
EFI_SMM_VARIABLE_PROTOCOL *mTcg2PpSmmVariable;\r
BOOLEAN mIsTcg2PPVerLowerThan_1_3 = FALSE;\r
+UINT32 mTcg2PhysicalPresenceFlags;\r
\r
/**\r
The handler for TPM physical presence function:\r
&Flags\r
);\r
if (EFI_ERROR (Status)) {\r
- Flags.PPFlags = TCG2_BIOS_TPM_MANAGEMENT_FLAG_DEFAULT | TCG2_BIOS_STORAGE_MANAGEMENT_FLAG_DEFAULT;\r
+ Flags.PPFlags = mTcg2PhysicalPresenceFlags;\r
}\r
ReturnCode = Tcg2PpVendorLibSubmitRequestToPreOSFunction (*OperationRequest, Flags.PPFlags, *RequestParameter);\r
}\r
Status = gSmst->SmmLocateProtocol (&gEfiSmmVariableProtocolGuid, NULL, (VOID**)&mTcg2PpSmmVariable);\r
ASSERT_EFI_ERROR (Status);\r
\r
+ mTcg2PhysicalPresenceFlags = PcdGet32(PcdTcg2PhysicalPresenceFlags);\r
+\r
return EFI_SUCCESS;\r
}\r
# This driver will have external input - variable.\r
# This external input must be validated carefully to avoid security issue.\r
#\r
-# Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2015 - 2020, Intel Corporation. All rights reserved.<BR>\r
# SPDX-License-Identifier: BSD-2-Clause-Patent\r
#\r
##\r
\r
[Pcd]\r
gEfiSecurityPkgTokenSpaceGuid.PcdTcgPhysicalPresenceInterfaceVer ## CONSUMES\r
+ gEfiSecurityPkgTokenSpaceGuid.PcdTcg2PhysicalPresenceFlags ## SOMETIMES_CONSUMES\r
\r
[Depex]\r
gEfiSmmVariableProtocolGuid\r
# It also provides the definitions(including PPIs/PROTOCOLs/GUIDs and library classes)\r
# and libraries instances, which are used for those features.\r
#\r
-# Copyright (c) 2009 - 2019, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2009 - 2020, Intel Corporation. All rights reserved.<BR>\r
# (C) Copyright 2015 Hewlett Packard Enterprise Development LP <BR>\r
# Copyright (c) Microsoft Corporation.<BR>\r
# SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
## This PCD defines initial setting of TCG2 Persistent Firmware Management Flags\r
# PCD can be configured for different settings in different scenarios\r
- # Default setting is TCG2_BIOS_TPM_MANAGEMENT_FLAG_DEFAULT | TCG2_BIOS_STORAGE_MANAGEMENT_FLAG_DEFAULT\r
+ # This PCD follows UEFI TCG2 library definition bit of the BIOS TPM/Storage Management Flags<BR>\r
+ # BIT0 - Reserved <BR>\r
+ # BIT1 - TCG2_BIOS_TPM_MANAGEMENT_FLAG_PP_REQUIRED_FOR_CLEAR <BR>\r
+ # BIT2 - Reserved <BR>\r
+ # BIT3 - TCG2_LIB_PP_FLAG_RESET_TRACK <BR>\r
+ # BIT4 - TCG2_BIOS_TPM_MANAGEMENT_FLAG_PP_REQUIRED_FOR_TURN_ON <BR>\r
+ # BIT5 - TCG2_BIOS_TPM_MANAGEMENT_FLAG_PP_REQUIRED_FOR_TURN_OFF <BR>\r
+ # BIT6 - TCG2_BIOS_TPM_MANAGEMENT_FLAG_PP_REQUIRED_FOR_CHANGE_EPS <BR>\r
+ # BIT7 - TCG2_BIOS_TPM_MANAGEMENT_FLAG_PP_REQUIRED_FOR_CHANGE_PCRS <BR>\r
+ # BIT16 - TCG2_BIOS_STORAGE_MANAGEMENT_FLAG_PP_REQUIRED_FOR_ENABLE_BLOCK_SID <BR>\r
+ # BIT17 - TCG2_BIOS_STORAGE_MANAGEMENT_FLAG_PP_REQUIRED_FOR_DISABLE_BLOCK_SID <BR>\r
+ # BIT18 - TCG2_BIOS_STORAGE_MANAGEMENT_FLAG_ENABLE_BLOCK_SID <BR>\r
# @Prompt Initial setting of TCG2 Persistent Firmware Management Flags\r
gEfiSecurityPkgTokenSpaceGuid.PcdTcg2PhysicalPresenceFlags|0x700E2|UINT32|0x0001001B\r
\r