Home | History | Annotate | Download | only in Guid
      1 /** @file
      2   SmmLockBox guid header file.
      3 
      4 Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
      5 
      6 This program and the accompanying materials
      7 are licensed and made available under the terms and conditions
      8 of the BSD License which accompanies this distribution.  The
      9 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 _SMM_LOCK_BOX_GUID_H_
     18 #define _SMM_LOCK_BOX_GUID_H_
     19 
     20 #define EFI_SMM_LOCK_BOX_COMMUNICATION_GUID \
     21   {0x2a3cfebd, 0x27e8, 0x4d0a, {0x8b, 0x79, 0xd6, 0x88, 0xc2, 0xa3, 0xe1, 0xc0}}
     22 
     23 //
     24 // Below data structure is used for communication between PEI/DXE to SMM.
     25 //
     26 
     27 #define EFI_SMM_LOCK_BOX_COMMAND_SAVE                 0x1
     28 #define EFI_SMM_LOCK_BOX_COMMAND_UPDATE               0x2
     29 #define EFI_SMM_LOCK_BOX_COMMAND_RESTORE              0x3
     30 #define EFI_SMM_LOCK_BOX_COMMAND_SET_ATTRIBUTES       0x4
     31 #define EFI_SMM_LOCK_BOX_COMMAND_RESTORE_ALL_IN_PLACE 0x5
     32 
     33 typedef struct {
     34   UINT32                         Command;
     35   UINT32                         DataLength;
     36   UINT64                         ReturnStatus;
     37 } EFI_SMM_LOCK_BOX_PARAMETER_HEADER;
     38 
     39 typedef struct {
     40   EFI_SMM_LOCK_BOX_PARAMETER_HEADER  Header;
     41   GUID                               Guid;
     42   PHYSICAL_ADDRESS                   Buffer;
     43   UINT64                             Length;
     44 } EFI_SMM_LOCK_BOX_PARAMETER_SAVE;
     45 
     46 typedef struct {
     47   EFI_SMM_LOCK_BOX_PARAMETER_HEADER  Header;
     48   GUID                               Guid;
     49   UINT64                             Offset;
     50   PHYSICAL_ADDRESS                   Buffer;
     51   UINT64                             Length;
     52 } EFI_SMM_LOCK_BOX_PARAMETER_UPDATE;
     53 
     54 typedef struct {
     55   EFI_SMM_LOCK_BOX_PARAMETER_HEADER  Header;
     56   GUID                               Guid;
     57   PHYSICAL_ADDRESS                   Buffer;
     58   UINT64                             Length;
     59 } EFI_SMM_LOCK_BOX_PARAMETER_RESTORE;
     60 
     61 typedef struct {
     62   EFI_SMM_LOCK_BOX_PARAMETER_HEADER  Header;
     63   GUID                               Guid;
     64   UINT64                             Attributes;
     65 } EFI_SMM_LOCK_BOX_PARAMETER_SET_ATTRIBUTES;
     66 
     67 typedef struct {
     68   EFI_SMM_LOCK_BOX_PARAMETER_HEADER  Header;
     69 } EFI_SMM_LOCK_BOX_PARAMETER_RESTORE_ALL_IN_PLACE;
     70 
     71 extern EFI_GUID gEfiSmmLockBoxCommunicationGuid;
     72 
     73 #endif
     74