MdePkg: Reference new definitions for Management Mode.
In PI 1.5 version, system management mode name(SMM) has been changed to Management Mode(MM). It impacts the current code which still use SMM/Smram/SMI keywords. This patch update the original files which related to old SMM modules, also keep the compatible with old SMM related drivers. Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Eric Dong <eric.dong@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
@@ -25,108 +25,19 @@
|
||||
#ifndef _SMM_ACCESS2_H_
|
||||
#define _SMM_ACCESS2_H_
|
||||
|
||||
#define EFI_SMM_ACCESS2_PROTOCOL_GUID \
|
||||
{ \
|
||||
0xc2702b74, 0x800c, 0x4131, {0x87, 0x46, 0x8f, 0xb5, 0xb8, 0x9c, 0xe4, 0xac } \
|
||||
}
|
||||
#include <Protocol/MmAccess.h>
|
||||
|
||||
#define EFI_SMM_ACCESS2_PROTOCOL_GUID EFI_MM_ACCESS_PROTOCOL_GUID
|
||||
|
||||
typedef struct _EFI_SMM_ACCESS2_PROTOCOL EFI_SMM_ACCESS2_PROTOCOL;
|
||||
typedef EFI_MM_ACCESS_PROTOCOL EFI_SMM_ACCESS2_PROTOCOL;
|
||||
|
||||
/**
|
||||
Opens the SMRAM area to be accessible by a boot-service driver.
|
||||
typedef EFI_MM_OPEN EFI_SMM_OPEN2;
|
||||
|
||||
This function "opens" SMRAM so that it is visible while not inside of SMM. The function should
|
||||
return EFI_UNSUPPORTED if the hardware does not support hiding of SMRAM. The function
|
||||
should return EFI_DEVICE_ERROR if the SMRAM configuration is locked.
|
||||
typedef EFI_MM_CLOSE EFI_SMM_CLOSE2;
|
||||
|
||||
@param[in] This The EFI_SMM_ACCESS2_PROTOCOL instance.
|
||||
|
||||
@retval EFI_SUCCESS The operation was successful.
|
||||
@retval EFI_UNSUPPORTED The system does not support opening and closing of SMRAM.
|
||||
@retval EFI_DEVICE_ERROR SMRAM cannot be opened, perhaps because it is locked.
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_SMM_OPEN2)(
|
||||
IN EFI_SMM_ACCESS2_PROTOCOL *This
|
||||
);
|
||||
|
||||
/**
|
||||
Inhibits access to the SMRAM.
|
||||
|
||||
This function "closes" SMRAM so that it is not visible while outside of SMM. The function should
|
||||
return EFI_UNSUPPORTED if the hardware does not support hiding of SMRAM.
|
||||
|
||||
@param[in] This The EFI_SMM_ACCESS2_PROTOCOL instance.
|
||||
|
||||
@retval EFI_SUCCESS The operation was successful.
|
||||
@retval EFI_UNSUPPORTED The system does not support opening and closing of SMRAM.
|
||||
@retval EFI_DEVICE_ERROR SMRAM cannot be closed.
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_SMM_CLOSE2)(
|
||||
IN EFI_SMM_ACCESS2_PROTOCOL *This
|
||||
);
|
||||
|
||||
/**
|
||||
Inhibits access to the SMRAM.
|
||||
|
||||
This function prohibits access to the SMRAM region. This function is usually implemented such
|
||||
that it is a write-once operation.
|
||||
|
||||
@param[in] This The EFI_SMM_ACCESS2_PROTOCOL instance.
|
||||
|
||||
@retval EFI_SUCCESS The device was successfully locked.
|
||||
@retval EFI_UNSUPPORTED The system does not support locking of SMRAM.
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_SMM_LOCK2)(
|
||||
IN EFI_SMM_ACCESS2_PROTOCOL *This
|
||||
);
|
||||
|
||||
/**
|
||||
Queries the memory controller for the possible regions that will support SMRAM.
|
||||
|
||||
@param[in] This The EFI_SMM_ACCESS2_PROTOCOL instance.
|
||||
@param[in,out] SmramMapSize A pointer to the size, in bytes, of the SmramMemoryMap buffer.
|
||||
@param[in,out] SmramMap A pointer to the buffer in which firmware places the current memory map.
|
||||
|
||||
@retval EFI_SUCCESS The chipset supported the given resource.
|
||||
@retval EFI_BUFFER_TOO_SMALL The SmramMap parameter was too small. The current buffer size
|
||||
needed to hold the memory map is returned in SmramMapSize.
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_SMM_CAPABILITIES2)(
|
||||
IN CONST EFI_SMM_ACCESS2_PROTOCOL *This,
|
||||
IN OUT UINTN *SmramMapSize,
|
||||
IN OUT EFI_SMRAM_DESCRIPTOR *SmramMap
|
||||
);
|
||||
|
||||
///
|
||||
/// EFI SMM Access2 Protocol is used to control the visibility of the SMRAM on the platform.
|
||||
/// It abstracts the location and characteristics of SMRAM. The platform should report all
|
||||
/// MMRAM via EFI_MM_ACCESS_PROTOCOL. The expectation is that the north bridge or memory
|
||||
/// controller would publish this protocol.
|
||||
///
|
||||
struct _EFI_SMM_ACCESS2_PROTOCOL {
|
||||
EFI_SMM_OPEN2 Open;
|
||||
EFI_SMM_CLOSE2 Close;
|
||||
EFI_SMM_LOCK2 Lock;
|
||||
EFI_SMM_CAPABILITIES2 GetCapabilities;
|
||||
///
|
||||
/// Indicates the current state of the SMRAM. Set to TRUE if SMRAM is locked.
|
||||
///
|
||||
BOOLEAN LockState;
|
||||
///
|
||||
/// Indicates the current state of the SMRAM. Set to TRUE if SMRAM is open.
|
||||
///
|
||||
BOOLEAN OpenState;
|
||||
};
|
||||
typedef EFI_MM_LOCK EFI_SMM_LOCK2;
|
||||
|
||||
typedef EFI_MM_CAPABILITIES EFI_SMM_CAPABILITIES2;
|
||||
extern EFI_GUID gEfiSmmAccess2ProtocolGuid;
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user