• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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, Intel Corporation. All rights reserved.<BR>
7 This program and the accompanying materials
8 are licensed and made available under the terms and conditions of the BSD License
9 which accompanies this distribution.  The full text of the license may be found at
10 http://opensource.org/licenses/bsd-license.php
11 
12 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 
15 **/
16 
17 #ifndef __PEI_LOCK_PHYSICAL_PRESENCE_H__
18 #define __PEI_LOCK_PHYSICAL_PRESENCE_H__
19 
20 ///
21 /// Global ID for the PEI_LOCK_PHYSICAL_PRESENCE_PPI_GUID.
22 ///
23 #define PEI_LOCK_PHYSICAL_PRESENCE_PPI_GUID  \
24   { \
25     0xef9aefe5, 0x2bd3, 0x4031, { 0xaf, 0x7d, 0x5e, 0xfe, 0x5a, 0xbb, 0x9a, 0xd } \
26   }
27 
28 ///
29 /// Forward declaration for the PEI_LOCK_PHYSICAL_PRESENCE_PPI
30 ///
31 typedef struct _PEI_LOCK_PHYSICAL_PRESENCE_PPI PEI_LOCK_PHYSICAL_PRESENCE_PPI;
32 
33 /**
34   This interface returns whether TPM physical presence needs be locked.
35 
36   @param[in]  PeiServices       The pointer to the PEI Services Table.
37 
38   @retval     TRUE              The TPM physical presence should be locked.
39   @retval     FALSE             The TPM physical presence cannot be locked.
40 
41 **/
42 typedef
43 BOOLEAN
44 (EFIAPI *PEI_LOCK_PHYSICAL_PRESENCE)(
45   IN CONST  EFI_PEI_SERVICES                    **PeiServices
46 );
47 
48 ///
49 /// This service abstracts TPM physical presence lock interface. It is necessary for
50 /// safety to convey this information to the TPM driver so that TPM physical presence
51 /// can be locked as early as possible. This PPI is produced by a platform specific
52 /// PEIM and consumed by the TPM PEIM.
53 ///
54 struct _PEI_LOCK_PHYSICAL_PRESENCE_PPI {
55   PEI_LOCK_PHYSICAL_PRESENCE  LockPhysicalPresence;
56 };
57 
58 extern EFI_GUID  gPeiLockPhysicalPresencePpiGuid;
59 
60 #endif  //  __PEI_LOCK_PHYSICAL_PRESENCE_H__