]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Include/Guid/SmmLockBox.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / MdeModulePkg / Include / Guid / SmmLockBox.h
1 /** @file
2 SmmLockBox guid header file.
3
4 Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
5
6 SPDX-License-Identifier: BSD-2-Clause-Patent
7
8 **/
9
10 #ifndef _SMM_LOCK_BOX_GUID_H_
11 #define _SMM_LOCK_BOX_GUID_H_
12
13 #define EFI_SMM_LOCK_BOX_COMMUNICATION_GUID \
14 {0x2a3cfebd, 0x27e8, 0x4d0a, {0x8b, 0x79, 0xd6, 0x88, 0xc2, 0xa3, 0xe1, 0xc0}}
15
16 //
17 // Below data structure is used for communication between PEI/DXE to SMM.
18 //
19
20 #define EFI_SMM_LOCK_BOX_COMMAND_SAVE 0x1
21 #define EFI_SMM_LOCK_BOX_COMMAND_UPDATE 0x2
22 #define EFI_SMM_LOCK_BOX_COMMAND_RESTORE 0x3
23 #define EFI_SMM_LOCK_BOX_COMMAND_SET_ATTRIBUTES 0x4
24 #define EFI_SMM_LOCK_BOX_COMMAND_RESTORE_ALL_IN_PLACE 0x5
25
26 typedef struct {
27 UINT32 Command;
28 UINT32 DataLength;
29 UINT64 ReturnStatus;
30 } EFI_SMM_LOCK_BOX_PARAMETER_HEADER;
31
32 typedef struct {
33 EFI_SMM_LOCK_BOX_PARAMETER_HEADER Header;
34 GUID Guid;
35 PHYSICAL_ADDRESS Buffer;
36 UINT64 Length;
37 } EFI_SMM_LOCK_BOX_PARAMETER_SAVE;
38
39 typedef struct {
40 EFI_SMM_LOCK_BOX_PARAMETER_HEADER Header;
41 GUID Guid;
42 UINT64 Offset;
43 PHYSICAL_ADDRESS Buffer;
44 UINT64 Length;
45 } EFI_SMM_LOCK_BOX_PARAMETER_UPDATE;
46
47 typedef struct {
48 EFI_SMM_LOCK_BOX_PARAMETER_HEADER Header;
49 GUID Guid;
50 PHYSICAL_ADDRESS Buffer;
51 UINT64 Length;
52 } EFI_SMM_LOCK_BOX_PARAMETER_RESTORE;
53
54 typedef struct {
55 EFI_SMM_LOCK_BOX_PARAMETER_HEADER Header;
56 GUID Guid;
57 UINT64 Attributes;
58 } EFI_SMM_LOCK_BOX_PARAMETER_SET_ATTRIBUTES;
59
60 typedef struct {
61 EFI_SMM_LOCK_BOX_PARAMETER_HEADER Header;
62 } EFI_SMM_LOCK_BOX_PARAMETER_RESTORE_ALL_IN_PLACE;
63
64 extern EFI_GUID gEfiSmmLockBoxCommunicationGuid;
65
66 #endif