mirror of https://github.com/acidanthera/audk.git
72 lines
1.6 KiB
C
72 lines
1.6 KiB
C
/** @file
|
|
|
|
Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
|
|
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
|
**/
|
|
|
|
#ifndef _SMM_LOCK_BOX_LIB_PRIVATE_H_
|
|
#define _SMM_LOCK_BOX_LIB_PRIVATE_H_
|
|
|
|
#include <Uefi.h>
|
|
|
|
#pragma pack(1)
|
|
|
|
//
|
|
// Below data structure is used for lockbox registration in SMST
|
|
//
|
|
|
|
#define SMM_LOCK_BOX_SIGNATURE_32 SIGNATURE_64 ('L','O','C','K','B','_','3','2')
|
|
#define SMM_LOCK_BOX_SIGNATURE_64 SIGNATURE_64 ('L','O','C','K','B','_','6','4')
|
|
|
|
typedef struct {
|
|
UINT64 Signature;
|
|
EFI_PHYSICAL_ADDRESS LockBoxDataAddress;
|
|
} SMM_LOCK_BOX_CONTEXT;
|
|
|
|
//
|
|
// Below data structure is used for lockbox management
|
|
//
|
|
|
|
#define SMM_LOCK_BOX_DATA_SIGNATURE SIGNATURE_64 ('L','O','C','K','B','O','X','D')
|
|
|
|
typedef struct {
|
|
UINT64 Signature;
|
|
EFI_GUID Guid;
|
|
EFI_PHYSICAL_ADDRESS Buffer;
|
|
UINT64 Length;
|
|
UINT64 Attributes;
|
|
EFI_PHYSICAL_ADDRESS SmramBuffer;
|
|
LIST_ENTRY Link;
|
|
} SMM_LOCK_BOX_DATA;
|
|
|
|
#pragma pack()
|
|
|
|
/**
|
|
Constructor for SmmLockBox library.
|
|
This is used to set SmmLockBox context, which will be used in PEI phase in S3 boot path later.
|
|
|
|
@retval EFI_SUCEESS
|
|
@return Others Some error occurs.
|
|
**/
|
|
EFI_STATUS
|
|
SmmLockBoxMmConstructor (
|
|
VOID
|
|
);
|
|
|
|
/**
|
|
Destructor for SmmLockBox library.
|
|
This is used to uninstall SmmLockBoxCommunication configuration table
|
|
if it has been installed in Constructor.
|
|
|
|
@retval EFI_SUCEESS The destructor always returns EFI_SUCCESS.
|
|
|
|
**/
|
|
EFI_STATUS
|
|
SmmLockBoxMmDestructor (
|
|
VOID
|
|
);
|
|
|
|
#endif
|