[edk2-devel] [PATCH 4/6] MdePkg: Add gEfiCpu2ProtocolGuid and header file

Liming Gao liming.gao at intel.com
Fri May 24 06:02:07 UTC 2019


If no spec defines it, it belongs to edk2 implementation. It should be placed into other placement and name be with Edkii prefix instead of Uefi.

>-----Original Message-----
>From: Gao, Zhichao
>Sent: Friday, May 24, 2019 1:28 PM
>To: Gao, Liming <liming.gao at intel.com>; devel at edk2.groups.io
>Cc: Sean Brogan <sean.brogan at microsoft.com>; Kinney, Michael D
><michael.d.kinney at intel.com>; Michael Turner
><Michael.Turner at microsoft.com>; Bret Barkelew
><Bret.Barkelew at microsoft.com>
>Subject: RE: [PATCH 4/6] MdePkg: Add gEfiCpu2ProtocolGuid and header file
>
>I have found it in UEFP spec and PI spec. It is not defined in these specs.
>So I think maybe no spec has already defined it.
>
>Thanks,
>Zhichao
>
>> -----Original Message-----
>> From: Gao, Liming
>> Sent: Friday, May 24, 2019 1:20 PM
>> To: Gao, Zhichao <zhichao.gao at intel.com>; devel at edk2.groups.io
>> Cc: Sean Brogan <sean.brogan at microsoft.com>; Kinney, Michael D
>> <michael.d.kinney at intel.com>; Michael Turner
>> <Michael.Turner at microsoft.com>; Bret Barkelew
>> <Bret.Barkelew at microsoft.com>
>> Subject: RE: [PATCH 4/6] MdePkg: Add gEfiCpu2ProtocolGuid and header
>file
>>
>> Zhichao:
>>   Which spec defines Cpu2 protocol?
>>
>> Thanks
>> Liming
>> >-----Original Message-----
>> >From: Gao, Zhichao
>> >Sent: Friday, May 24, 2019 1:05 PM
>> >To: devel at edk2.groups.io
>> >Cc: Sean Brogan <sean.brogan at microsoft.com>; Kinney, Michael D
>> ><michael.d.kinney at intel.com>; Gao, Liming <liming.gao at intel.com>;
>> >Michael Turner <Michael.Turner at microsoft.com>; Bret Barkelew
>> ><Bret.Barkelew at microsoft.com>
>> >Subject: [PATCH 4/6] MdePkg: Add gEfiCpu2ProtocolGuid and header file
>> >
>> >From: Sean Brogan <sean.brogan at 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.kinney at intel.com>
>> >Cc: Liming Gao <liming.gao at intel.com>
>> >Cc: Sean Brogan <sean.brogan at microsoft.com>
>> >Cc: Michael Turner <Michael.Turner at microsoft.com>
>> >Cc: Bret Barkelew <Bret.Barkelew at microsoft.com>
>> >Signed-off-by: Zhichao Gao <zhichao.gao at 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 (#41316): https://edk2.groups.io/g/devel/message/41316
Mute This Topic: https://groups.io/mt/31741731/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-





More information about the edk2-devel-archive mailing list