From: Sean Brogan <sean.bro...@microsoft.com> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1400
Add gEfiCpu2ProtocolGuid to MdePkg.dec. Add the header file of Cpu2 protocol: it has one interface to enable interrupt and put cpu to sleep to wait for an interrupt. Cc: Michael D Kinney <michael.d.kin...@intel.com> Cc: Liming Gao <liming....@intel.com> Cc: Sean Brogan <sean.bro...@microsoft.com> Cc: Michael Turner <michael.tur...@microsoft.com> Cc: Bret Barkelew <bret.barke...@microsoft.com> Signed-off-by: Zhichao Gao <zhichao....@intel.com> --- MdePkg/Include/Protocol/Cpu2.h | 43 ++++++++++++++++++++++++++++++++++ MdePkg/MdePkg.dec | 3 +++ 2 files changed, 46 insertions(+) create mode 100644 MdePkg/Include/Protocol/Cpu2.h diff --git a/MdePkg/Include/Protocol/Cpu2.h b/MdePkg/Include/Protocol/Cpu2.h new file mode 100644 index 0000000000..cacd948140 --- /dev/null +++ b/MdePkg/Include/Protocol/Cpu2.h @@ -0,0 +1,43 @@ +/** @file + CPU2 Protocol + + This code abstracts the DXE core from processor implementation details. + + Copyright (c) 2006 - 2018, Microsoft Corporation. All rights reserved.<BR> + + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef __PROTOCOL_CPU2_H__ +#define __PROTOCOL_CPU2_H__ + +#include <Uefi.h> + +typedef struct _EFI_CPU2_PROTOCOL EFI_CPU2_PROTOCOL; + + +/** + This function enables CPU interrupts and then waits for an interrupt to arrive. + + @param This The EFI_CPU2_PROTOCOL instance. + + @retval EFI_SUCCESS Interrupts are enabled on the processor. + @retval EFI_DEVICE_ERROR Interrupts could not be enabled on the processor. + +**/ +typedef +EFI_STATUS +(EFIAPI *EFI_CPU_ENABLE_AND_WAIT_FOR_INTERRUPT)( + IN EFI_CPU2_PROTOCOL *This + ); + +// +// The EFI_CPU2_PROTOCOL is used to abstract processor-specific functions from the DXE +// Foundation. +// +struct _EFI_CPU2_PROTOCOL { + EFI_CPU_ENABLE_AND_WAIT_FOR_INTERRUPT EnableAndWaitForInterrupt; +}; + +#endif diff --git a/MdePkg/MdePkg.dec b/MdePkg/MdePkg.dec index 6c563375ee..e8c6939849 100644 --- a/MdePkg/MdePkg.dec +++ b/MdePkg/MdePkg.dec @@ -1803,6 +1803,9 @@ ## Include/Protocol/ShellDynamicCommand.h gEfiShellDynamicCommandProtocolGuid = { 0x3c7200e9, 0x005f, 0x4ea4, {0x87, 0xde, 0xa3, 0xdf, 0xac, 0x8a, 0x27, 0xc3 }} + ## Include/Protocol/Cpu2.h + gEfiCpu2ProtocolGuid = { 0x55198405, 0x26C0, 0x4765, {0x8B, 0x7D, 0xBE, 0x1D, 0xF5, 0xF9, 0x97, 0x12 }} + # # [Error.gEfiMdePkgTokenSpaceGuid] # 0x80000001 | Invalid value provided. -- 2.21.0.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#41306): https://edk2.groups.io/g/devel/message/41306 Mute This Topic: https://groups.io/mt/31741731/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-