summaryrefslogtreecommitdiff
path: root/ReferenceCode/ME/Protocol/HeciSmm/HeciSmm.h
diff options
context:
space:
mode:
Diffstat (limited to 'ReferenceCode/ME/Protocol/HeciSmm/HeciSmm.h')
-rw-r--r--ReferenceCode/ME/Protocol/HeciSmm/HeciSmm.h122
1 files changed, 122 insertions, 0 deletions
diff --git a/ReferenceCode/ME/Protocol/HeciSmm/HeciSmm.h b/ReferenceCode/ME/Protocol/HeciSmm/HeciSmm.h
new file mode 100644
index 0000000..667a1fb
--- /dev/null
+++ b/ReferenceCode/ME/Protocol/HeciSmm/HeciSmm.h
@@ -0,0 +1,122 @@
+/*++
+ This file contains a 'Sample Driver' and is licensed as such
+ under the terms of your license agreement with Intel or your
+ vendor. This file may be modified by the user, subject to
+ the additional terms of the license agreement
+--*/
+/*++
+
+Copyright (c) 2010 Intel Corporation. All rights reserved
+This software and associated documentation (if any) is furnished
+under a license and may only be used or copied in accordance
+with the terms of the license. Except as permitted by such
+license, no part of this software or documentation may be
+reproduced, stored in a retrieval system, or transmitted in any
+form or by any means without the express written consent of
+Intel Corporation.
+
+Module Name:
+
+ HeciSmm.h
+
+Abstract:
+
+ SMM HECI Protocol
+
+--*/
+#ifndef _SMM_HECI_H
+#define _SMM_HECI_H
+
+#include "MeState.h"
+
+#define SMM_HECI_PROTOCOL_GUID \
+ { \
+ 0xFC9A50C1, 0x8B3D, 0x40D0, 0x99, 0x12, 0x6E, 0x26, 0xD7, 0x89, 0x6C, 0xBA \
+ }
+//- 0x826824b6, 0xcc9b, 0x4d62, 0x8e, 0x7a, 0xf, 0xfb, 0xf6, 0x1, 0x3c, 0xbe
+#define AMI_HECI_SMM_GUID \
+ { \
+ 0xFC9A50C1, 0x8B3D, 0x40D0, 0x99, 0x12, 0x6E, 0x26, 0xD7, 0x89, 0x6C, 0xBA \
+ }
+
+
+EFI_FORWARD_DECLARATION (SMM_HECI_PROTOCOL);
+
+typedef
+EFI_STATUS
+(EFIAPI *EFI_HECI_SENDWACK) (
+ IN OUT UINT32 *Message,
+ IN OUT UINT32 Length,
+ IN OUT UINT32 *RecLength,
+ IN UINT8 HostAddress,
+ IN UINT8 MEAddress
+ );
+
+typedef
+EFI_STATUS
+(EFIAPI *EFI_HECI_READ_MESSAGE) (
+ IN UINT32 Blocking,
+ IN UINT32 *MessageBody,
+ IN OUT UINT32 *Length
+ );
+
+typedef
+EFI_STATUS
+(EFIAPI *EFI_HECI_SEND_MESSAGE) (
+ IN UINT32 *Message,
+ IN UINT32 Length,
+ IN UINT8 HostAddress,
+ IN UINT8 MEAddress
+ );
+
+typedef
+EFI_STATUS
+(EFIAPI *EFI_HECI_RESET) (
+ VOID
+ );
+
+typedef
+EFI_STATUS
+(EFIAPI *EFI_HECI_INIT) (
+ VOID
+ );
+
+typedef
+EFI_STATUS
+(EFIAPI *EFI_HECI_REINIT) (
+ VOID
+ );
+
+typedef
+EFI_STATUS
+(EFIAPI *EFI_HECI_RESET_WAIT) (
+ IN UINT32 Delay
+ );
+
+typedef
+EFI_STATUS
+(EFIAPI *EFI_HECI_GET_ME_STATUS) (
+ IN UINT32 *Status
+ );
+
+typedef
+EFI_STATUS
+(EFIAPI *EFI_HECI_GET_ME_MODE) (
+ IN UINT32 *Mode
+ );
+
+typedef struct _SMM_HECI_PROTOCOL {
+ EFI_HECI_SENDWACK SendwACK;
+ EFI_HECI_READ_MESSAGE ReadMsg;
+ EFI_HECI_SEND_MESSAGE SendMsg;
+ EFI_HECI_RESET ResetHeci;
+ EFI_HECI_INIT InitHeci;
+ EFI_HECI_RESET_WAIT MeResetWait;
+ EFI_HECI_REINIT ReInitHeci;
+ EFI_HECI_GET_ME_STATUS GetMeStatus;
+ EFI_HECI_GET_ME_MODE GetMeMode;
+} SMM_HECI_PROTOCOL;
+
+extern EFI_GUID gSmmHeciProtocolGuid;
+
+#endif // _SMM_HECI_H