summaryrefslogtreecommitdiff
path: root/ReferenceCode/ME/Protocol/AtPlatformPolicy
diff options
context:
space:
mode:
Diffstat (limited to 'ReferenceCode/ME/Protocol/AtPlatformPolicy')
-rw-r--r--ReferenceCode/ME/Protocol/AtPlatformPolicy/AtPlatformPolicy.c43
-rw-r--r--ReferenceCode/ME/Protocol/AtPlatformPolicy/AtPlatformPolicy.h57
2 files changed, 100 insertions, 0 deletions
diff --git a/ReferenceCode/ME/Protocol/AtPlatformPolicy/AtPlatformPolicy.c b/ReferenceCode/ME/Protocol/AtPlatformPolicy/AtPlatformPolicy.c
new file mode 100644
index 0000000..98e0c9d
--- /dev/null
+++ b/ReferenceCode/ME/Protocol/AtPlatformPolicy/AtPlatformPolicy.c
@@ -0,0 +1,43 @@
+/** @file
+ This driver implements the AT Platform Policy protocol.
+
+@copyright
+ Copyright (c) 2004 - 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 (AtPlatformPolicy)
+#endif
+//
+// Protocol GUID definition
+//
+EFI_GUID gDxePlatformAtPolicyGuid = DXE_PLATFORM_AT_POLICY_GUID;
+
+//
+// Protocol description
+//
+EFI_GUID_STRING
+ (&gDxePlatformAtPolicyGuid, "AtPlatformPolicy Protocol", "Intel(R) DXE Phase At Platform Policy Protocol");
diff --git a/ReferenceCode/ME/Protocol/AtPlatformPolicy/AtPlatformPolicy.h b/ReferenceCode/ME/Protocol/AtPlatformPolicy/AtPlatformPolicy.h
new file mode 100644
index 0000000..9cf00d7
--- /dev/null
+++ b/ReferenceCode/ME/Protocol/AtPlatformPolicy/AtPlatformPolicy.h
@@ -0,0 +1,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