Home | History | Annotate | Download | only in Guid
      1 /** @file
      2   Define the variable data structures used for TrEE 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) 2013 - 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 __TREE_PHYSICAL_PRESENCE_DATA_GUID_H__
     19 #define __TREE_PHYSICAL_PRESENCE_DATA_GUID_H__
     20 
     21 #define EFI_TREE_PHYSICAL_PRESENCE_DATA_GUID \
     22   { \
     23     0xf24643c2, 0xc622, 0x494e, { 0x8a, 0xd, 0x46, 0x32, 0x57, 0x9c, 0x2d, 0x5b }\
     24   }
     25 
     26 #define TREE_PHYSICAL_PRESENCE_VARIABLE  L"TrEEPhysicalPresence"
     27 
     28 typedef struct {
     29   UINT8   PPRequest;      ///< Physical Presence request command.
     30   UINT8   LastPPRequest;
     31   UINT32  PPResponse;
     32 } EFI_TREE_PHYSICAL_PRESENCE;
     33 
     34 //
     35 // The definition bit of the flags
     36 //
     37 // BIT0 is reserved
     38 #define TREE_FLAG_NO_PPI_CLEAR                        BIT1
     39 // BIT2 is reserved
     40 #define TREE_FLAG_RESET_TRACK                         BIT3
     41 
     42 //
     43 // This variable is used to save TPM Management Flags and corresponding operations.
     44 // It should be protected from malicious software (e.g. Set it as read-only variable).
     45 //
     46 #define TREE_PHYSICAL_PRESENCE_FLAGS_VARIABLE  L"TrEEPhysicalPresenceFlags"
     47 typedef struct {
     48   UINT8   PPFlags;
     49 } EFI_TREE_PHYSICAL_PRESENCE_FLAGS;
     50 
     51 //
     52 // The definition of physical presence operation actions
     53 //
     54 #define TREE_PHYSICAL_PRESENCE_NO_ACTION                               0
     55 #define TREE_PHYSICAL_PRESENCE_CLEAR_CONTROL_CLEAR                     5
     56 #define TREE_PHYSICAL_PRESENCE_CLEAR_CONTROL_CLEAR_2                   14
     57 #define TREE_PHYSICAL_PRESENCE_SET_NO_PPI_CLEAR_FALSE                  17
     58 #define TREE_PHYSICAL_PRESENCE_SET_NO_PPI_CLEAR_TRUE                   18
     59 #define TREE_PHYSICAL_PRESENCE_CLEAR_CONTROL_CLEAR_3                   21
     60 #define TREE_PHYSICAL_PRESENCE_CLEAR_CONTROL_CLEAR_4                   22
     61 
     62 #define TREE_PHYSICAL_PRESENCE_NO_ACTION_MAX                           22
     63 
     64 extern EFI_GUID  gEfiTrEEPhysicalPresenceGuid;
     65 
     66 #endif
     67 
     68