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

Liming Gao liming.gao at intel.com
Fri May 24 05:20:08 UTC 2019


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 (#41310): https://edk2.groups.io/g/devel/message/41310
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