2 Get TPM 2.0 physical presence information.
4 This library will get TPM 2.0 physical presence information.
6 Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
7 SPDX-License-Identifier: BSD-2-Clause-Patent
13 #include <Guid/Tcg2PhysicalPresenceData.h>
14 #include <Ppi/ReadOnlyVariable2.h>
16 #include <Library/DebugLib.h>
17 #include <Library/PeiServicesLib.h>
18 #include <Library/PeiServicesTablePointerLib.h>
19 #include <Library/Tcg2PhysicalPresenceLib.h>
22 Return TPM2 ManagementFlags set by PP interface.
24 @retval ManagementFlags TPM2 Management Flags.
28 Tcg2PhysicalPresenceLibGetManagementFlags (
33 EFI_PEI_READ_ONLY_VARIABLE2_PPI
*VariablePpi
;
34 EFI_TCG2_PHYSICAL_PRESENCE_FLAGS PpiFlags
;
37 Status
= PeiServicesLocatePpi (&gEfiPeiReadOnlyVariable2PpiGuid
, 0, NULL
, (VOID
**) &VariablePpi
);
38 ASSERT_EFI_ERROR (Status
);
40 DataSize
= sizeof (EFI_TCG2_PHYSICAL_PRESENCE_FLAGS
);
41 Status
= VariablePpi
->GetVariable (
43 TCG2_PHYSICAL_PRESENCE_FLAGS_VARIABLE
,
44 &gEfiTcg2PhysicalPresenceGuid
,
49 if (EFI_ERROR (Status
)) {
50 PpiFlags
.PPFlags
= TCG2_BIOS_TPM_MANAGEMENT_FLAG_DEFAULT
| TCG2_BIOS_STORAGE_MANAGEMENT_FLAG_DEFAULT
;
52 return PpiFlags
.PPFlags
;