MdePkg: Add 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 add new definition which use MM/MmRam/MMI keywords to follow new spec definitions. 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:
65
MdePkg/Include/Protocol/MmStatusCode.h
Normal file
65
MdePkg/Include/Protocol/MmStatusCode.h
Normal file
@@ -0,0 +1,65 @@
|
||||
/** @file
|
||||
EFI MM Status Code Protocol as defined in the PI 1.5 specification.
|
||||
|
||||
This protocol provides the basic status code services while in MM.
|
||||
|
||||
Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
#ifndef _MM_STATUS_CODE_H__
|
||||
#define _MM_STATUS_CODE_H__
|
||||
|
||||
|
||||
#define EFI_MM_STATUS_CODE_PROTOCOL_GUID \
|
||||
{ \
|
||||
0x6afd2b77, 0x98c1, 0x4acd, {0xa6, 0xf9, 0x8a, 0x94, 0x39, 0xde, 0xf, 0xb1} \
|
||||
}
|
||||
|
||||
typedef struct _EFI_MM_STATUS_CODE_PROTOCOL EFI_MM_STATUS_CODE_PROTOCOL;
|
||||
|
||||
/**
|
||||
Service to emit the status code in MM.
|
||||
|
||||
The EFI_MM_STATUS_CODE_PROTOCOL.ReportStatusCode() function enables a driver
|
||||
to emit a status code while in MM. The reason that there is a separate protocol definition from the
|
||||
DXE variant of this service is that the publisher of this protocol will provide a service that is
|
||||
capability of coexisting with a foreground operational environment, such as an operating system
|
||||
after the termination of boot services.
|
||||
|
||||
@param[in] This Points to this instance of the EFI_MM_STATUS_CODE_PROTOCOL.
|
||||
@param[in] CodeType DIndicates the type of status code being reported.
|
||||
@param[in] Value Describes the current status of a hardware or software entity.
|
||||
@param[in] Instance The enumeration of a hardware or software entity within the system.
|
||||
@param[in] CallerId This optional parameter may be used to identify the caller.
|
||||
@param[in] Data This optional parameter may be used to pass additional data.
|
||||
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
@retval EFI_INVALID_PARAMETER The function should not be completed due to a device error.
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_MM_REPORT_STATUS_CODE)(
|
||||
IN CONST EFI_MM_STATUS_CODE_PROTOCOL *This,
|
||||
IN EFI_STATUS_CODE_TYPE CodeType,
|
||||
IN EFI_STATUS_CODE_VALUE Value,
|
||||
IN UINT32 Instance,
|
||||
IN CONST EFI_GUID *CallerId,
|
||||
IN EFI_STATUS_CODE_DATA *Data OPTIONAL
|
||||
);
|
||||
|
||||
struct _EFI_MM_STATUS_CODE_PROTOCOL {
|
||||
EFI_MM_REPORT_STATUS_CODE ReportStatusCode;
|
||||
};
|
||||
|
||||
extern EFI_GUID gEfiMmStatusCodeProtocolGuid;
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user