LockPhysicalPresence.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /** @file
  2. This file defines the lock physical Presence PPI. This PPI is
  3. produced by a platform specific PEIM and consumed by the TPM
  4. PEIM.
  5. Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
  6. SPDX-License-Identifier: BSD-2-Clause-Patent
  7. **/
  8. #ifndef __PEI_LOCK_PHYSICAL_PRESENCE_H__
  9. #define __PEI_LOCK_PHYSICAL_PRESENCE_H__
  10. ///
  11. /// Global ID for the PEI_LOCK_PHYSICAL_PRESENCE_PPI_GUID.
  12. ///
  13. #define PEI_LOCK_PHYSICAL_PRESENCE_PPI_GUID \
  14. { \
  15. 0xef9aefe5, 0x2bd3, 0x4031, { 0xaf, 0x7d, 0x5e, 0xfe, 0x5a, 0xbb, 0x9a, 0xd } \
  16. }
  17. ///
  18. /// Forward declaration for the PEI_LOCK_PHYSICAL_PRESENCE_PPI
  19. ///
  20. typedef struct _PEI_LOCK_PHYSICAL_PRESENCE_PPI PEI_LOCK_PHYSICAL_PRESENCE_PPI;
  21. /**
  22. This interface returns whether TPM physical presence needs be locked.
  23. @param[in] PeiServices The pointer to the PEI Services Table.
  24. @retval TRUE The TPM physical presence should be locked.
  25. @retval FALSE The TPM physical presence cannot be locked.
  26. **/
  27. typedef
  28. BOOLEAN
  29. (EFIAPI *PEI_LOCK_PHYSICAL_PRESENCE)(
  30. IN CONST EFI_PEI_SERVICES **PeiServices
  31. );
  32. ///
  33. /// This service abstracts TPM physical presence lock interface. It is necessary for
  34. /// safety to convey this information to the TPM driver so that TPM physical presence
  35. /// can be locked as early as possible. This PPI is produced by a platform specific
  36. /// PEIM and consumed by the TPM PEIM.
  37. ///
  38. struct _PEI_LOCK_PHYSICAL_PRESENCE_PPI {
  39. PEI_LOCK_PHYSICAL_PRESENCE LockPhysicalPresence;
  40. };
  41. extern EFI_GUID gPeiLockPhysicalPresencePpiGuid;
  42. #endif // __PEI_LOCK_PHYSICAL_PRESENCE_H__