1 /** @file 2 Define the variable data structures used for TCG2 physical presence. 3 The TPM2 request from firmware or OS is saved to variable. And it is 4 cleared after it is processed in the next boot cycle. The TPM2 response 5 is saved to variable. 6 7 Copyright (c) 2015, Intel Corporation. All rights reserved. <BR> 8 This program and the accompanying materials 9 are licensed and made available under the terms and conditions of the BSD License 10 which accompanies this distribution. The full text of the license may be found at 11 http://opensource.org/licenses/bsd-license.php 12 13 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 14 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 15 16 **/ 17 18 #ifndef __TCG2_PHYSICAL_PRESENCE_DATA_GUID_H__ 19 #define __TCG2_PHYSICAL_PRESENCE_DATA_GUID_H__ 20 21 #define EFI_TCG2_PHYSICAL_PRESENCE_DATA_GUID \ 22 { \ 23 0xaeb9c5c1, 0x94f1, 0x4d02, { 0xbf, 0xd9, 0x46, 0x2, 0xdb, 0x2d, 0x3c, 0x54 } \ 24 } 25 26 #define TCG2_PHYSICAL_PRESENCE_VARIABLE L"Tcg2PhysicalPresence" 27 28 typedef struct { 29 UINT8 PPRequest; ///< Physical Presence request command. 30 UINT32 PPRequestParameter; ///< Physical Presence request Parameter. 31 UINT8 LastPPRequest; 32 UINT32 PPResponse; 33 } EFI_TCG2_PHYSICAL_PRESENCE; 34 35 // 36 // This variable is used to save TCG2 Management Flags and corresponding operations. 37 // It should be protected from malicious software (e.g. Set it as read-only variable). 38 // 39 #define TCG2_PHYSICAL_PRESENCE_FLAGS_VARIABLE L"Tcg2PhysicalPresenceFlags" 40 typedef struct { 41 UINT32 PPFlags; 42 } EFI_TCG2_PHYSICAL_PRESENCE_FLAGS; 43 44 extern EFI_GUID gEfiTcg2PhysicalPresenceGuid; 45 46 #endif 47 48