summaryrefslogtreecommitdiff
path: root/ReferenceCode/ME/Protocol/MeBiosPayloadData
diff options
context:
space:
mode:
authorraywu <raywu0301@gmail.com>2018-06-15 00:00:50 +0800
committerraywu <raywu0301@gmail.com>2018-06-15 00:00:50 +0800
commitb7c51c9cf4864df6aabb99a1ae843becd577237c (patch)
treeeebe9b0d0ca03062955223097e57da84dd618b9a /ReferenceCode/ME/Protocol/MeBiosPayloadData
downloadzprj-master.tar.xz
init. 1AQQW051HEADmaster
Diffstat (limited to 'ReferenceCode/ME/Protocol/MeBiosPayloadData')
-rw-r--r--ReferenceCode/ME/Protocol/MeBiosPayloadData/MeBiosPayloadData.c43
-rw-r--r--ReferenceCode/ME/Protocol/MeBiosPayloadData/MeBiosPayloadData.h138
2 files changed, 181 insertions, 0 deletions
diff --git a/ReferenceCode/ME/Protocol/MeBiosPayloadData/MeBiosPayloadData.c b/ReferenceCode/ME/Protocol/MeBiosPayloadData/MeBiosPayloadData.c
new file mode 100644
index 0000000..c52ff21
--- /dev/null
+++ b/ReferenceCode/ME/Protocol/MeBiosPayloadData/MeBiosPayloadData.c
@@ -0,0 +1,43 @@
+/** @file
+ This file defines the Me Bios Payload Data Protocol which implements the
+ Intel(R) Management Engine
+
+@copyright
+ Copyright (c) 2006 - 2012 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.
+
+ 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
+**/
+
+//
+// Statements that include other files
+//
+//
+// External include files do NOT need to be explicitly specified in real EDKII
+// environment
+//
+#if !defined(EDK_RELEASE_VERSION) || (EDK_RELEASE_VERSION < 0x00020000)
+#include "EdkIIGlueDxe.h"
+//
+// Include the protocol header file
+//
+#include EFI_PROTOCOL_DEFINITION (MeBiosPayloadData)
+#endif
+//
+// Protocol GUID definition
+//
+EFI_GUID gMeBiosPayloadDataProtocolGuid = ME_BIOS_PAYLOAD_DATA_PROTOCOL_GUID;
+
+//
+// Protocol description
+//
+EFI_GUID_STRING(&gMeBiosPayloadDataProtocolGuid, "MeBiosPayloadData Protocol", "Intel(R) DXE Phase MBP Protocol");
diff --git a/ReferenceCode/ME/Protocol/MeBiosPayloadData/MeBiosPayloadData.h b/ReferenceCode/ME/Protocol/MeBiosPayloadData/MeBiosPayloadData.h
new file mode 100644
index 0000000..4a90ebb
--- /dev/null
+++ b/ReferenceCode/ME/Protocol/MeBiosPayloadData/MeBiosPayloadData.h
@@ -0,0 +1,138 @@
+/** @file
+ Interface definition details for MBP during DXE phase.
+
+@copyright
+ Copyright (c) 2006 - 2012 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.
+
+ 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
+**/
+#ifndef _MBP_DATA_PROTOCOL_H_
+#define _MBP_DATA_PROTOCOL_H_
+#include "CoreBiosMsg.h"
+
+///
+/// MBP Protocol for DXE phase
+///
+#define ME_BIOS_PAYLOAD_DATA_PROTOCOL_GUID \
+ { \
+ 0x71a19494, 0x2ab6, 0x4e96, 0x85, 0x81, 0xcf, 0x34, 0x25, 0x42, 0x73, 0xfe \
+ }
+
+///
+/// Revision 1: Original version
+///
+#define DXE_MBP_DATA_PROTOCOL_REVISION_1 1
+#define DXE_MBP_DATA_PROTOCOL_REVISION_2 2
+extern EFI_GUID gMeBiosPayloadDataProtocolGuid;
+
+#pragma pack(push, 1)
+typedef struct _MBP_FW_VERSION_NAME {
+ UINT32 MajorVersion : 16;
+ UINT32 MinorVersion : 16;
+ UINT32 HotfixVersion : 16;
+ UINT32 BuildVersion : 16;
+} MBP_FW_VERSION_NAME;
+
+typedef struct _MBP_ICC_PROFILE {
+ UINT8 NumIccProfiles;
+ UINT8 IccProfileSoftStrap;
+ UINT8 IccProfileIndex;
+ UINT8 Reserved;
+ ICC_LOCK_REGS_INFO IccLockRegInfo;
+} MBP_ICC_PROFILE;
+
+typedef struct _MBP_FW_CAPS_SKU {
+ MEFWCAPS_SKU FwCapabilities;
+ BOOLEAN Available;
+} MBP_FW_CAPS_SKU;
+
+typedef struct _MBP_FW_FEATURES_STATE {
+ MEFWCAPS_SKU FwFeatures;
+ BOOLEAN Available;
+} MBP_FW_FEATURES_STATE;
+
+typedef struct _MBP_ROM_BIST_DATA {
+ UINT16 DeviceId;
+ UINT16 FuseTestFlags;
+ UINT32 UMCHID[4];
+} MBP_ROM_BIST_DATA;
+
+typedef struct _MBP_PLATFORM_KEY {
+ UINT32 Key[8];
+} MBP_PLATFORM_KEY;
+
+typedef struct _MBP_PLAT_TYPE {
+ PLATFORM_TYPE_RULE_DATA RuleData;
+ BOOLEAN Available;
+} MBP_PLAT_TYPE;
+
+typedef union _HWA_DATA {
+ UINT32 Raw;
+ struct {
+ UINT32 MediaTablePush : 1;
+ UINT32 Reserved : 31;
+ } Fields;
+} HWA_DATA;
+
+typedef struct _MBP_HWA_REQ {
+ HWA_DATA Data;
+ BOOLEAN Available;
+} MBP_HWA_REQ;
+
+typedef struct _MBP_PERF_DATA {
+ UINT32 PwrbtnMrst;
+ UINT32 MrstPltrst;
+ UINT32 PltrstCpurst;
+} MBP_PERF_DATA;
+
+typedef struct _PLAT_BOOT_PERF_DATA {
+ MBP_PERF_DATA MbpPerfData;
+ BOOLEAN Available;
+} PLAT_BOOT_PERF_DATA;
+
+typedef struct _MBP_NFC_DATA {
+ UINT32 DeviceType :2;
+ UINT32 Reserved : 29;
+ UINT32 Hide :1;
+} MBP_NFC_DATA;
+
+typedef struct _MBP_NFC_SUPPORT {
+ MBP_NFC_DATA NfcData;
+ BOOLEAN Available;
+} MBP_NFC_SUPPORT;
+
+typedef struct {
+ MBP_FW_VERSION_NAME FwVersionName;
+ MBP_FW_CAPS_SKU FwCapsSku;
+ MBP_FW_FEATURES_STATE FwFeaturesState;
+ MBP_ROM_BIST_DATA RomBistData;
+ MBP_PLATFORM_KEY PlatformKey;
+ MBP_PLAT_TYPE FwPlatType;
+ MBP_ICC_PROFILE IccProfile;
+ AT_STATE_INFO AtState;
+ UINT32 MFSIntegrity;
+ MBP_HWA_REQ HwaRequest;
+ PLAT_BOOT_PERF_DATA PlatBootPerfData;
+ MBP_NFC_SUPPORT NfcSupport;
+} ME_BIOS_PAYLOAD;
+#pragma pack(pop)
+///
+/// MBP DXE Protocol
+///
+typedef struct _DXE_MBP_DATA_PROTOCOL {
+ EFI_HANDLE Handle;
+ UINT8 Revision;
+ ME_BIOS_PAYLOAD MeBiosPayload;
+} DXE_MBP_DATA_PROTOCOL;
+
+#endif