From d5555a107c528b0a0da12e907e685b469a79d891 Mon Sep 17 00:00:00 2001 From: mdkinney Date: Fri, 24 Jul 2009 04:35:02 +0000 Subject: [PATCH] Move EFI_SMM_COMMUNICATE_HEADER into SmmBase.h because this structure is really associated with the ComminicationBuffer parameter to the EFI_SMM_CALLBACK_ENTRY_POINT in the SMM Base Protocol and not the gSmmCommunicateHeaderGuid. This GUID is just one of many possible GUIDs that could be used to fill in the HeaderGuid field of the EFI_SMM_COMMUNICATE_HEADER. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8990 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Include/Guid/SmmCommunicate.h | 6 ---- IntelFrameworkPkg/Include/Protocol/SmmBase.h | 34 ++++++++++++++++--- 2 files changed, 30 insertions(+), 10 deletions(-) diff --git a/IntelFrameworkPkg/Include/Guid/SmmCommunicate.h b/IntelFrameworkPkg/Include/Guid/SmmCommunicate.h index a7e0970c0c..be8e4aae32 100644 --- a/IntelFrameworkPkg/Include/Guid/SmmCommunicate.h +++ b/IntelFrameworkPkg/Include/Guid/SmmCommunicate.h @@ -28,12 +28,6 @@ 0xf328e36c, 0x23b6, 0x4a95, {0x85, 0x4b, 0x32, 0xe1, 0x95, 0x34, 0xcd, 0x75 } \ } -typedef struct { - EFI_GUID HeaderGuid; - UINTN MessageLength; - UINT8 Data[1]; -} EFI_SMM_COMMUNICATE_HEADER; - extern EFI_GUID gSmmCommunicateHeaderGuid; #endif diff --git a/IntelFrameworkPkg/Include/Protocol/SmmBase.h b/IntelFrameworkPkg/Include/Protocol/SmmBase.h index aac73d5b87..264c2429e0 100644 --- a/IntelFrameworkPkg/Include/Protocol/SmmBase.h +++ b/IntelFrameworkPkg/Include/Protocol/SmmBase.h @@ -37,20 +37,46 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #ifndef _SMM_BASE_H_ #define _SMM_BASE_H_ +/// +/// Global ID for the EFI_SMM_BASE_PROTOCOL +/// #define EFI_SMM_BASE_PROTOCOL_GUID \ { \ 0x1390954D, 0xda95, 0x4227, {0x93, 0x28, 0x72, 0x82, 0xc2, 0x17, 0xda, 0xa8 } \ } -typedef struct _EFI_SMM_BASE_PROTOCOL EFI_SMM_BASE_PROTOCOL; +/// +/// Forward declaration for EFI_SMM_BASE_PROTOCOL +/// +typedef struct _EFI_SMM_BASE_PROTOCOL EFI_SMM_BASE_PROTOCOL; -// -// SMM Handler Definition -// +/// +/// EFI SMM Handler return codes +/// +///@{ #define EFI_HANDLER_SUCCESS 0x0000 #define EFI_HANDLER_CRITICAL_EXIT 0x0001 #define EFI_HANDLER_SOURCE_QUIESCED 0x0002 #define EFI_HANDLER_SOURCE_PENDING 0x0003 +///@} + +/// +/// The header data is mandatory for messages sent into the SMM agent. +/// +typedef struct { + /// + /// Allows for disambiguation of the message format. + /// + EFI_GUID HeaderGuid; + /// + /// Describes the size of the message, not including the header. + /// + UINTN MessageLength; + /// + /// Designates an array of bytes that is MessageLength in size. + /// + UINT8 Data[1]; +} EFI_SMM_COMMUNICATE_HEADER; /** Entry Point to Callback service -- 2.39.2