]> git.proxmox.com Git - mirror_edk2.git/blob - SecurityPkg/Include/Ppi/LockPhysicalPresence.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / SecurityPkg / Include / Ppi / LockPhysicalPresence.h
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
6 Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
7 SPDX-License-Identifier: BSD-2-Clause-Patent
8
9 **/
10
11 #ifndef __PEI_LOCK_PHYSICAL_PRESENCE_H__
12 #define __PEI_LOCK_PHYSICAL_PRESENCE_H__
13
14 ///
15 /// Global ID for the PEI_LOCK_PHYSICAL_PRESENCE_PPI_GUID.
16 ///
17 #define PEI_LOCK_PHYSICAL_PRESENCE_PPI_GUID \
18 { \
19 0xef9aefe5, 0x2bd3, 0x4031, { 0xaf, 0x7d, 0x5e, 0xfe, 0x5a, 0xbb, 0x9a, 0xd } \
20 }
21
22 ///
23 /// Forward declaration for the PEI_LOCK_PHYSICAL_PRESENCE_PPI
24 ///
25 typedef struct _PEI_LOCK_PHYSICAL_PRESENCE_PPI PEI_LOCK_PHYSICAL_PRESENCE_PPI;
26
27 /**
28 This interface returns whether TPM physical presence needs be locked.
29
30 @param[in] PeiServices The pointer to the PEI Services Table.
31
32 @retval TRUE The TPM physical presence should be locked.
33 @retval FALSE The TPM physical presence cannot be locked.
34
35 **/
36 typedef
37 BOOLEAN
38 (EFIAPI *PEI_LOCK_PHYSICAL_PRESENCE)(
39 IN CONST EFI_PEI_SERVICES **PeiServices
40 );
41
42 ///
43 /// This service abstracts TPM physical presence lock interface. It is necessary for
44 /// safety to convey this information to the TPM driver so that TPM physical presence
45 /// can be locked as early as possible. This PPI is produced by a platform specific
46 /// PEIM and consumed by the TPM PEIM.
47 ///
48 struct _PEI_LOCK_PHYSICAL_PRESENCE_PPI {
49 PEI_LOCK_PHYSICAL_PRESENCE LockPhysicalPresence;
50 };
51
52 extern EFI_GUID gPeiLockPhysicalPresencePpiGuid;
53
54 #endif // __PEI_LOCK_PHYSICAL_PRESENCE_H__