From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=fail (domain: intel.com, ip: , mailfrom: zhichao.gao@intel.com) Received: from mga02.intel.com (mga02.intel.com []) by groups.io with SMTP; Tue, 09 Jul 2019 01:40:45 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 Jul 2019 01:40:04 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.63,470,1557212400"; d="scan'208";a="185865589" Received: from fieedk001.ccr.corp.intel.com ([10.239.33.119]) by fmsmga001.fm.intel.com with ESMTP; 09 Jul 2019 01:40:02 -0700 From: "Gao, Zhichao" To: devel@edk2.groups.io Cc: Sean Brogan , Jian J Wang , Hao A Wu , Ray Ni , Star Zeng , Liming gao , Michael Turner , Bret Barkelew Subject: [PATCH V2 1/4] MdeModulePkg: Add gEdkiiCpu2ProtocolGuid and header file Date: Tue, 9 Jul 2019 16:39:53 +0800 Message-Id: <20190709083956.13024-2-zhichao.gao@intel.com> X-Mailer: git-send-email 2.21.0.windows.1 In-Reply-To: <20190709083956.13024-1-zhichao.gao@intel.com> References: <20190709083956.13024-1-zhichao.gao@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Sean Brogan REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1400 Add gEdkiiCpu2ProtocolGuid to MdeMdeModulePkg.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: Jian J Wang Cc: Hao A Wu Cc: Ray Ni Cc: Star Zeng Cc: Liming gao Cc: Sean Brogan Cc: Michael Turner Cc: Bret Barkelew Signed-off-by: Zhichao Gao --- MdeModulePkg/Include/Protocol/Cpu2.h | 43 ++++++++++++++++++++++++++++ MdeModulePkg/MdeModulePkg.dec | 3 ++ 2 files changed, 46 insertions(+) create mode 100644 MdeModulePkg/Include/Protocol/Cpu2.h diff --git a/MdeModulePkg/Include/Protocol/Cpu2.h b/MdeModulePkg/Include/Protocol/Cpu2.h new file mode 100644 index 0000000000..14464a38c8 --- /dev/null +++ b/MdeModulePkg/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.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef __PROTOCOL_CPU2_H__ +#define __PROTOCOL_CPU2_H__ + +#include + +typedef struct _EDKII_CPU2_PROTOCOL EDKII_CPU2_PROTOCOL; + + +/** + This function enables CPU interrupts and then waits for an interrupt to arrive. + + @param This The EDKII_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 *EDKII_CPU_ENABLE_AND_WAIT_FOR_INTERRUPT)( + IN EDKII_CPU2_PROTOCOL *This + ); + +/// +/// The EDKII_CPU2_PROTOCOL is used to abstract processor-specific functions from the DXE +/// Foundation. +/// +struct _EDKII_CPU2_PROTOCOL { + EDKII_CPU_ENABLE_AND_WAIT_FOR_INTERRUPT EnableAndForWaitInterrupt; +}; + +#endif diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec index 12e0bbf579..354241c2ab 100644 --- a/MdeModulePkg/MdeModulePkg.dec +++ b/MdeModulePkg/MdeModulePkg.dec @@ -620,6 +620,9 @@ ## Include/Protocol/PeCoffImageEmulator.h gEdkiiPeCoffImageEmulatorProtocolGuid = { 0x96f46153, 0x97a7, 0x4793, { 0xac, 0xc1, 0xfa, 0x19, 0xbf, 0x78, 0xea, 0x97 } } + ## Include/Protocol/Cpu2.h + gEdkiiCpu2ProtocolGuid = { 0x55198405, 0x26C0, 0x4765, {0x8B, 0x7D, 0xBE, 0x1D, 0xF5, 0xF9, 0x97, 0x12 }} + # # [Error.gEfiMdeModulePkgTokenSpaceGuid] # 0x80000001 | Invalid value provided. -- 2.21.0.windows.1