diff options
Diffstat (limited to 'ReferenceCode/ME/Protocol/AmtPlatformPolicy')
-rw-r--r-- | ReferenceCode/ME/Protocol/AmtPlatformPolicy/AmtPlatformPolicy.c | 44 | ||||
-rw-r--r-- | ReferenceCode/ME/Protocol/AmtPlatformPolicy/AmtPlatformPolicy.h | 111 |
2 files changed, 155 insertions, 0 deletions
diff --git a/ReferenceCode/ME/Protocol/AmtPlatformPolicy/AmtPlatformPolicy.c b/ReferenceCode/ME/Protocol/AmtPlatformPolicy/AmtPlatformPolicy.c new file mode 100644 index 0000000..f947dfc --- /dev/null +++ b/ReferenceCode/ME/Protocol/AmtPlatformPolicy/AmtPlatformPolicy.c @@ -0,0 +1,44 @@ +/** @file + This file defines the EFI AMT policy Protocol which implements the + Intel(R) Active Management Technology + +@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 (AmtPlatformPolicy) +#endif +// +// Protocol GUID definition +// +EFI_GUID gDxePlatformAmtPolicyGuid = DXE_PLATFORM_AMT_POLICY_GUID; + +// +// Protocol description +// +EFI_GUID_STRING + (&gDxePlatformAmtPolicyGuid, "AmtPlatformPolicy Protocol", "Intel(R) DXE Phase AMT Platform Policy Protocol"); diff --git a/ReferenceCode/ME/Protocol/AmtPlatformPolicy/AmtPlatformPolicy.h b/ReferenceCode/ME/Protocol/AmtPlatformPolicy/AmtPlatformPolicy.h new file mode 100644 index 0000000..bfc98ff --- /dev/null +++ b/ReferenceCode/ME/Protocol/AmtPlatformPolicy/AmtPlatformPolicy.h @@ -0,0 +1,111 @@ +/** @file + Interface definition details between AMT and platform drivers 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 _AMT_PLATFORM_POLICY_H_ +#define _AMT_PLATFORM_POLICY_H_ + +/// +/// AMT policy provided by platform for DXE phase +/// This protocol provides the information about Intel AMT platform configuration settings. +/// +#define DXE_PLATFORM_AMT_POLICY_GUID \ + { \ + 0x6725e645, 0x4a7f, 0x9969, 0x82, 0xec, 0xd1, 0x87, 0x21, 0xde, 0x5a, 0x57 \ + } + +/// +/// Protocol revision number +/// Any backwards compatible changes to this protocol will result in an update in the revision number +/// Major changes will require publication of a new protocol +/// +#define DXE_PLATFORM_AMT_POLICY_PROTOCOL_REVISION_1 1 ///< Initial Revision + +extern EFI_GUID gDxePlatformAmtPolicyGuid; +#pragma pack(1) +typedef struct { + // + // Byte 0, bit definition for functionality enable/disable + // + UINT8 AsfEnabled : 1; ///< 0: Disabled; 1: Enabled + UINT8 iAmtEnabled : 1; ///< 0: Disabled; 1: Enabled + UINT8 iAmtbxPasswordWrite : 1; ///< 0: Disabled; 1: Enabled + UINT8 WatchDog : 1; ///< 0: Disabled; 1: Enabled + UINT8 CiraRequest : 1; ///< 0: No CIRA request; 1: Trigger CIRA request + UINT8 ManageabilityMode : 1; ///< 0: Disabled; 1:AMT + UINT8 UnConfigureMe : 1; ///< 0: No; 1: Un-configure ME without password + UINT8 MebxDebugMsg : 1; ///< 0: Disabled; 1: Enabled + // + // Byte 1, bit definition for functionality enable/disable + // + UINT8 ForcMebxSyncUp : 1; ///< 0: No; 1: Force MEBX execution + UINT8 UsbrEnabled : 1; ///< 0: Disabled; 1: Enabled + UINT8 UsbLockingEnabled : 1; ///< 0: Disabled; 1: Enabled + UINT8 HideUnConfigureMeConfirm : 1; ///< 0: Don't hide; 1: Hide Un-configure ME Confirmation Prompt + UINT8 USBProvision : 1; ///< 0: Disabled; 1: Enabled + UINT8 FWProgress : 1; ///< 0: Disabled; 1: Enabled + UINT8 iAmtbxHotkeyPressed : 1; ///< 0: Disabled; 1: Enabled + UINT8 iAmtbxSelectionScreen : 1; ///< 0: Disabled; 1: Enabled + // + // Byte 2, bit definition for functionality enable/disable + // + UINT8 AtEnabled : 1; ///< 0: Disabled; 1: Enabled + UINT8 Byte2Reserved : 7; + UINT16 WatchDogTimerOs; ///< Byte 3-4 OS WatchDog Timer + UINT16 WatchDogTimerBios; ///< Byte 5-6 BIOS WatchDog Timer + /// + /// Byte 7 CIRA Timeout: Client Initiated Remote Access Timeout + /// OEM defined timeout for MPS connection to be established. + /// 0: 60 seconds by default, 0xFF: Wait until the connection succeeds. + /// 1~0xFE: Values in seconds + /// + UINT8 CiraTimeout; + + /// + /// Byte 8 CPU Replacement Timeout + /// 0: 10 seconds; 1: 30 seconds; 2~5: Reserved; 6: No delay; 7: Unlimited delay + /// + UINT8 CpuReplacementTimeout; + // + // Byte 9-10 OemResolutionSettings + // + UINT16 MebxNonUiTextMode : 4; ///< 0: Auto; 1: 80x25; 2: 100x31 + UINT16 MebxUiTextMode : 4; ///< 0: Auto; 1: 80x25; 2: 100x31 + UINT16 MebxGraphicsMode : 4; ///< 0: Auto; 1: 640x480; 2: 800x600; 3: 1024x768 + UINT16 OemResolutionSettingsRsvd : 4; + // + // Byte 11-14 Pointer to a list which contain on-board devices bus/device/fun number + // + UINT32 PciDeviceFilterOutTable; + // + // Byte 15-23 Reserved and make AMT_CONFIG as 32 bit alignment + // + UINT8 ByteReserved[9]; +} AMT_CONFIG; + +#pragma pack() +/// +/// AMT DXE Platform Policy +/// This protocol is initialized by platform Policy driver. Other modules can locate this protocol +/// to retrieve Intel AMT related setup options setting +/// +typedef struct _DXE_AMT_POLICY_PROTOCOL { + UINT8 Revision; ///< Revision for the protocol structure + AMT_CONFIG AmtConfig; ///< AMT policy for platform code to pass to Reference Code +} DXE_AMT_POLICY_PROTOCOL; + +#endif |