123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- /** @file
- Get TPM 2.0 physical presence information.
- This library will get TPM 2.0 physical presence information.
- Copyright (c) 2015 - 2020, Intel Corporation. All rights reserved.<BR>
- SPDX-License-Identifier: BSD-2-Clause-Patent
- **/
- #include <PiPei.h>
- #include <Guid/Tcg2PhysicalPresenceData.h>
- #include <Ppi/ReadOnlyVariable2.h>
- #include <Library/DebugLib.h>
- #include <Library/PeiServicesLib.h>
- #include <Library/PeiServicesTablePointerLib.h>
- #include <Library/Tcg2PhysicalPresenceLib.h>
- /**
- Return TPM2 ManagementFlags set by PP interface.
- @retval ManagementFlags TPM2 Management Flags.
- **/
- UINT32
- EFIAPI
- Tcg2PhysicalPresenceLibGetManagementFlags (
- VOID
- )
- {
- EFI_STATUS Status;
- EFI_PEI_READ_ONLY_VARIABLE2_PPI *VariablePpi;
- EFI_TCG2_PHYSICAL_PRESENCE_FLAGS PpiFlags;
- UINTN DataSize;
- Status = PeiServicesLocatePpi (&gEfiPeiReadOnlyVariable2PpiGuid, 0, NULL, (VOID **)&VariablePpi);
- ASSERT_EFI_ERROR (Status);
- DataSize = sizeof (EFI_TCG2_PHYSICAL_PRESENCE_FLAGS);
- Status = VariablePpi->GetVariable (
- VariablePpi,
- TCG2_PHYSICAL_PRESENCE_FLAGS_VARIABLE,
- &gEfiTcg2PhysicalPresenceGuid,
- NULL,
- &DataSize,
- &PpiFlags
- );
- if (EFI_ERROR (Status)) {
- PpiFlags.PPFlags = PcdGet32 (PcdTcg2PhysicalPresenceFlags);
- }
- return PpiFlags.PPFlags;
- }
|