summaryrefslogtreecommitdiff
path: root/ReferenceCode/ME/Guid/MeBiosExtensionSetup
diff options
context:
space:
mode:
authorraywu <raywu0301@gmail.com>2018-06-15 00:00:50 +0800
committerraywu <raywu0301@gmail.com>2018-06-15 00:00:50 +0800
commitb7c51c9cf4864df6aabb99a1ae843becd577237c (patch)
treeeebe9b0d0ca03062955223097e57da84dd618b9a /ReferenceCode/ME/Guid/MeBiosExtensionSetup
downloadzprj-master.tar.xz
init. 1AQQW051HEADmaster
Diffstat (limited to 'ReferenceCode/ME/Guid/MeBiosExtensionSetup')
-rw-r--r--ReferenceCode/ME/Guid/MeBiosExtensionSetup/MeBiosExtensionSetup.c35
-rw-r--r--ReferenceCode/ME/Guid/MeBiosExtensionSetup/MeBiosExtensionSetup.h95
2 files changed, 130 insertions, 0 deletions
diff --git a/ReferenceCode/ME/Guid/MeBiosExtensionSetup/MeBiosExtensionSetup.c b/ReferenceCode/ME/Guid/MeBiosExtensionSetup/MeBiosExtensionSetup.c
new file mode 100644
index 0000000..d3d76c5
--- /dev/null
+++ b/ReferenceCode/ME/Guid/MeBiosExtensionSetup/MeBiosExtensionSetup.c
@@ -0,0 +1,35 @@
+/** @file
+ ME BIOS Extension 16 Setup Options Guid data declarations.
+
+@copyright
+ Copyright (c) 2005 - 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 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
+**/
+
+//
+// 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 EFI_GUID_DEFINITION (MeBiosExtensionSetup)
+#endif
+
+EFI_GUID gEfiMeBiosExtensionSetupGuid = EFI_ME_BIOS_EXTENSION_SETUP_GUID;
+
+EFI_GUID_STRING(&gEfiMeBiosExtensionSetupGuid, "EFI", "Efi Me Bios Extension 16 Setup Options GUID")
+
+CHAR16 gEfiMeBiosExtensionSetupName[] = EFI_ME_BIOS_EXTENSION_SETUP_VARIABLE_NAME;
diff --git a/ReferenceCode/ME/Guid/MeBiosExtensionSetup/MeBiosExtensionSetup.h b/ReferenceCode/ME/Guid/MeBiosExtensionSetup/MeBiosExtensionSetup.h
new file mode 100644
index 0000000..24e5c75
--- /dev/null
+++ b/ReferenceCode/ME/Guid/MeBiosExtensionSetup/MeBiosExtensionSetup.h
@@ -0,0 +1,95 @@
+/** @file
+ Me Bios Extension 16 Setup Options Guid definitions
+
+@copyright
+ Copyright (c) 2005 - 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 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 _EFI_ME_BIOS_EXTENSION_SETUP_GUID_H_
+#define _EFI_ME_BIOS_EXTENSION_SETUP_GUID_H_
+
+///
+/// A NV-RAM variable for storing Intel MEBX setup option settings is created if this variable is not
+/// present. Those settings are used by BIOS during POST to bypass portions of the code if the
+/// Intel ME features are not available
+///
+#define EFI_ME_BIOS_EXTENSION_SETUP_GUID \
+ { \
+ 0x1bad711c, 0xd451, 0x4241, 0xb1, 0xf3, 0x85, 0x37, 0x81, 0x2e, 0xc, 0x70 \
+ }
+
+#define EFI_ME_BIOS_EXTENSION_SETUP_VARIABLE_NAME (L"MeBiosExtensionSetup")
+#define EFI_ME_BIOS_EXTENSION_SETUP_FORMAT_VARIABLE_NAME ("MeBiosExtensionSetup")
+
+extern CHAR16 gEfiMeBiosExtensionSetupName[];
+
+extern EFI_GUID gEfiMeBiosExtensionSetupGuid;
+
+#pragma pack(1)
+
+///
+/// A NV-RAM variable for storing Intel MEBX setup option settings is created if this variable is not
+/// present. Those settings are used by BIOS during POST to bypass portions of the code if the
+/// Intel ME features are not available. The information is obtained from Intel MEBx BIOS sync data
+/// structure
+///
+typedef struct {
+ ///
+ /// Sync Data Structure Version, a non-zero version indicates the variable is being initialized or valid
+ ///
+ UINT16 InterfaceVersion;
+ UINT16 Reserved;
+ ///
+ /// Bit 0 - UPDATED - this structure has been updated by MEBX
+ ///
+ UINT32 Flags;
+ ///
+ /// Platform Manageability Selection
+ /// 00h - Off
+ /// 01h - On
+ ///
+ UINT8 PlatformMngSel;
+ UINT8 Reserved4;
+ UINT8 AmtSolIder;
+ UINT8 Reserved1[2];
+ ///
+ /// CIRA Feature
+ /// 00h - DISABLED
+ /// 01h - ENABLED
+ ///
+ UINT8 RemoteAssistanceTriggerAvailablilty;
+ ///
+ /// KVM state (0 - DISABLED, 1 - ENABLED)
+ ///
+ UINT8 KvmEnable;
+ ///
+ /// 0 - On every later boot after BIOS 1st boot
+ /// 1 - Mebx will not require a reboot for synchronizing SOL/IDER state, used when BIOS 1st boot only.
+ ///
+ UINT8 MebxDefaultSolIder;
+ UINT8 Reserved2[10];
+} ME_BIOS_EXTENSION_SETUP;
+
+#define MNT_OFF 0x00
+#define MNT_ON 0x01
+#define LAN_ENABLE 0x01
+#define SOL_ENABLE 0x01
+#define IDER_ENABLE 0x02
+#define KVM_ENABLE 0x01
+
+#pragma pack()
+
+#endif