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/Protocol/PlatformMeHook | |
download | zprj-master.tar.xz |
Diffstat (limited to 'ReferenceCode/ME/Protocol/PlatformMeHook')
-rw-r--r-- | ReferenceCode/ME/Protocol/PlatformMeHook/PlatformMeHook.c | 43 | ||||
-rw-r--r-- | ReferenceCode/ME/Protocol/PlatformMeHook/PlatformMeHook.h | 64 |
2 files changed, 107 insertions, 0 deletions
diff --git a/ReferenceCode/ME/Protocol/PlatformMeHook/PlatformMeHook.c b/ReferenceCode/ME/Protocol/PlatformMeHook/PlatformMeHook.c new file mode 100644 index 0000000..c34ce99 --- /dev/null +++ b/ReferenceCode/ME/Protocol/PlatformMeHook/PlatformMeHook.c @@ -0,0 +1,43 @@ +/** @file + This file defines the Platform ME Hook function + +@copyright + Copyright (c) 2010 - 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 (PlatformMeHook) +#endif +// +// Protocol GUID definition +// +EFI_GUID gPlatformMeHookProtocolGuid = PLATFORM_ME_HOOK_PROTOCOL_GUID; + +// +// Protocol description +// +EFI_GUID_STRING + (&gPlatformMeHookProtocolGuid, "PlatformMeHook Protocol", "Intel(R) DXE Phase ME Platform Hook Protocol"); diff --git a/ReferenceCode/ME/Protocol/PlatformMeHook/PlatformMeHook.h b/ReferenceCode/ME/Protocol/PlatformMeHook/PlatformMeHook.h new file mode 100644 index 0000000..eef2c47 --- /dev/null +++ b/ReferenceCode/ME/Protocol/PlatformMeHook/PlatformMeHook.h @@ -0,0 +1,64 @@ +/** @file + Interface definition details for platform hook support to ME module during DXE phase. + +@copyright + Copyright (c) 2010 - 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 _PLATFORM_ME_HOOK_H_ +#define _PLATFORM_ME_HOOK_H_ + +/// +/// ME Hook provided by platform for DXE phase +/// This protocol provides an interface to hook reference code by OEM. +/// +#define PLATFORM_ME_HOOK_PROTOCOL_GUID \ + { \ + 0xbc52476e, 0xf67e, 0x4301, 0xb2, 0x62, 0x36, 0x9c, 0x48, 0x78, 0xaa, 0xc2 \ + } + +#define PLATFORM_ME_HOOK_PROTOCOL_REVISION 1 + +/** + Platform hook before BIOS sends Global Reset Heci Message to ME + + @param[in] None + + @retval EFI Status Code +**/ +typedef +EFI_STATUS +(EFIAPI *PLATFORM_ME_HOOK_PRE_GLOBAL_RESET) ( + VOID + ) +; + +/// +/// Platform Intel ME Hook Protocol +/// This protocol provides an interface to hook reference code by OEM. +/// +typedef struct _PLATFORM_ME_HOOK_PROTOCOL { + /// + /// Revision for the protocol structure + /// + UINT8 Revision; + /// + /// Function pointer for the hook called before BIOS sends Global Reset Heci Message to ME + /// + PLATFORM_ME_HOOK_PRE_GLOBAL_RESET PreGlobalReset; +} PLATFORM_ME_HOOK_PROTOCOL; + +extern EFI_GUID gPlatformMeHookProtocolGuid; + +#endif |