diff options
author | raywu <raywu0301@gmail.com> | 2018-06-15 00:00:50 +0800 |
---|---|---|
committer | raywu <raywu0301@gmail.com> | 2018-06-15 00:00:50 +0800 |
commit | b7c51c9cf4864df6aabb99a1ae843becd577237c (patch) | |
tree | eebe9b0d0ca03062955223097e57da84dd618b9a /ReferenceCode/ME/Protocol/MeBiosPayloadData/MeBiosPayloadData.h | |
download | zprj-b7c51c9cf4864df6aabb99a1ae843becd577237c.tar.xz |
Diffstat (limited to 'ReferenceCode/ME/Protocol/MeBiosPayloadData/MeBiosPayloadData.h')
-rw-r--r-- | ReferenceCode/ME/Protocol/MeBiosPayloadData/MeBiosPayloadData.h | 138 |
1 files changed, 138 insertions, 0 deletions
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 |