summaryrefslogtreecommitdiff
path: root/ReferenceCode/ME/Protocol/AtPlatformPolicy/AtPlatformPolicy.h
blob: 9cf00d75aea46e5a8581f789b1cb982b1370b918 (plain)
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
/** @file
  This driver implements the AT Platform Policy protocol.

@copyright
  Copyright (c) 2004 - 2013 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 an 'Intel Peripheral Driver' and uniquely
  identified as "Intel Reference Module" and is
  licensed for Intel CPUs and chipsets under the terms of your
  license agreement with Intel or your vendor.  This file may
  be modified by the user, subject to additional terms of the
  license agreement
**/
#ifndef _DXE_AT_PLATFORM_POLICY_H_
#define _DXE_AT_PLATFORM_POLICY_H_

///
/// AT policy provided by platform for DXE phase
///
#define DXE_PLATFORM_AT_POLICY_GUID \
  { \
    0x3f4ea4d4, 0xb465, 0x4f3f, 0x9c, 0x92, 0xb3, 0x40, 0xab, 0x58, 0x96, 0xb5 \
  }

///
/// 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_AT_POLICY_PROTOCOL_REVISION_1 1
#define DXE_PLATFORM_AT_POLICY_PROTOCOL_REVISION_2 2

extern EFI_GUID gDxePlatformAtPolicyGuid;
#pragma pack(1)
typedef struct {
  UINT8 AtAmBypass;           ///< Byte 0, bit definition for functionality enable/disable
  UINT8 AtEnterSuspendState;
  UINT8 AtSupported;
  UINT8 AtPba;
  UINT8 ByteReserved[28];   ///< Bytes 4-31 Reserved and make AT_CONFIG as 32 bit alignment
} AT_CONFIG;
#pragma pack()
///
/// AMT DXE Platform Policy
///
typedef struct _DXE_AT_POLICY_PROTOCOL {
  UINT8       Revision;
  AT_CONFIG   At;
} DXE_AT_POLICY_PROTOCOL;
#endif