/** @file\r
- This file declares SMM SMRAM Access abstraction protocol which is used to control \r
+ This file declares the SMM SMRAM Access abstraction protocol, which is used to control\r
the visibility of the SMRAM on the platform. The expectation is\r
- that the north bridge or memory controller would publish this protocol. \r
- For example, the Memory Controller Hub (MCH) has the hardware provision for this \r
- type of control. Because of the protected, distinguished class of memory for IA-32 \r
+ that the north bridge or memory controller would publish this protocol.\r
+ For example, the Memory Controller Hub (MCH) has the hardware provision for this\r
+ type of control. Because of the protected, distinguished class of memory for IA-32\r
systems, the expectation is that this protocol would be supported only on IA-32 systems.\r
\r
- Copyright (c) 2007, Intel Corporation\r
- All rights reserved. This program and the accompanying materials\r
- are licensed and made available under the terms and conditions of the BSD License\r
- which accompanies this distribution. The full text of the license may be found at\r
- http://opensource.org/licenses/bsd-license.php\r
-\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
@par Revision Reference:\r
This Protocol is defined in Framework of EFI SMM Core Interface Spec\r
#ifndef _SMM_ACCESS_H_\r
#define _SMM_ACCESS_H_\r
\r
-#include <PiDxe.h>\r
#include <Guid/SmramMemoryReserve.h>\r
\r
typedef struct _EFI_SMM_ACCESS_PROTOCOL EFI_SMM_ACCESS_PROTOCOL;\r
0x3792095a, 0xe309, 0x4c1e, {0xaa, 0x01, 0x85, 0xf5, 0x65, 0x5a, 0x17, 0xf1 } \\r
}\r
\r
-//\r
-// SMM Access specification constant and types\r
-//\r
-// *******************************************************\r
-// EFI_SMRAM_STATE\r
-// *******************************************************\r
-//\r
-#define EFI_SMRAM_OPEN 0x00000001\r
-#define EFI_SMRAM_CLOSED 0x00000002\r
-#define EFI_SMRAM_LOCKED 0x00000004\r
-#define EFI_CACHEABLE 0x00000008\r
-#define EFI_ALLOCATED 0x00000010\r
-\r
//\r
// SMM Access specification Member Function\r
//\r
);\r
\r
/**\r
- @par Protocol Description:\r
This protocol is used to control the visibility of the SMRAM on the platform.\r
-\r
- @param Open\r
- Opens the SMRAM.\r
-\r
- @param Close\r
- Closes the SMRAM.\r
-\r
- @param Lock\r
- Locks the SMRAM.\r
-\r
- @param GetCapabilities\r
- Gets information on possible SMRAM regions.\r
-\r
- @param LockState\r
- Indicates the current state of the SMRAM. Set to TRUE if any region is locked.\r
-\r
- @param OpenState\r
- Indicates the current state of the SMRAM. Set to TRUE if any region is open.\r
-\r
**/\r
struct _EFI_SMM_ACCESS_PROTOCOL {\r
- EFI_SMM_OPEN Open;\r
- EFI_SMM_CLOSE Close;\r
- EFI_SMM_LOCK Lock;\r
- EFI_SMM_CAPABILITIES GetCapabilities;\r
- BOOLEAN LockState;\r
- BOOLEAN OpenState;\r
+ EFI_SMM_OPEN Open; ///< Opens the SMRAM.\r
+ EFI_SMM_CLOSE Close; ///< Closes the SMRAM.\r
+ EFI_SMM_LOCK Lock; ///< Locks the SMRAM.\r
+ EFI_SMM_CAPABILITIES GetCapabilities; ///< Gets information on possible SMRAM regions.\r
+ BOOLEAN LockState; ///< Indicates the current state of the SMRAM. Set to TRUE if any region is locked.\r
+ BOOLEAN OpenState; ///< Indicates the current state of the SMRAM. Set to TRUE if any region is open.\r
};\r
\r
extern EFI_GUID gEfiSmmAccessProtocolGuid;\r