1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
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
|