diff options
author | raywu <raywu0301@gmail.com> | 2018-06-15 00:00:50 +0800 |
---|---|---|
committer | raywu <raywu0301@gmail.com> | 2018-06-15 00:00:50 +0800 |
commit | b7c51c9cf4864df6aabb99a1ae843becd577237c (patch) | |
tree | eebe9b0d0ca03062955223097e57da84dd618b9a /ReferenceCode/ME/Guid/MeBiosExtensionSetup | |
download | zprj-b7c51c9cf4864df6aabb99a1ae843becd577237c.tar.xz |
Diffstat (limited to 'ReferenceCode/ME/Guid/MeBiosExtensionSetup')
-rw-r--r-- | ReferenceCode/ME/Guid/MeBiosExtensionSetup/MeBiosExtensionSetup.c | 35 | ||||
-rw-r--r-- | ReferenceCode/ME/Guid/MeBiosExtensionSetup/MeBiosExtensionSetup.h | 95 |
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 |