public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Xu, Wei6" <wei6.xu@intel.com>
To: devel@edk2.groups.io
Cc: Wei6 Xu <wei6.xu@intel.com>, Abner Chang <Abner.Chang@amd.com>,
	Nate DeSimone <nathaniel.l.desimone@intel.com>,
	Lixia Huang <lisa.huang@intel.com>
Subject: [edk2-devel] [PATCH edk2-platforms 4/4] IpmiFeaturePkg/BmcElog: Support Standalone MM
Date: Thu, 21 Dec 2023 01:01:45 +0800	[thread overview]
Message-ID: <2191e4b069e111eca0ecf0802f47496415fa98b5.1703090380.git.wei6.xu@intel.com> (raw)
In-Reply-To: <cover.1703090380.git.wei6.xu@intel.com>

Refactor BmcElog to support Standalone MM.
Remove unused code.

Cc: Abner Chang <Abner.Chang@amd.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Signed-off-by: Lixia Huang <lisa.huang@intel.com>
---
 .../IpmiFeaturePkg/BmcElog/Smm/BmcElog.c      | 14 ++----
 .../IpmiFeaturePkg/BmcElog/Smm/BmcElog.h      | 15 +++++--
 .../BmcElog/Smm/BmcElogStandaloneMm.c         | 28 ++++++++++++
 .../BmcElog/Smm/BmcElogTraditionalMm.c        | 28 ++++++++++++
 .../IpmiFeaturePkg/BmcElog/SmmBmcElog.inf     |  6 +--
 .../BmcElog/StandaloneMmBmcElog.inf           | 44 +++++++++++++++++++
 .../IpmiFeaturePkg/Include/IpmiFeature.dsc    |  1 +
 7 files changed, 119 insertions(+), 17 deletions(-)
 create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/Smm/BmcElogStandaloneMm.c
 create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/Smm/BmcElogTraditionalMm.c
 create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/StandaloneMmBmcElog.inf

diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/Smm/BmcElog.c b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/Smm/BmcElog.c
index efaa61f43869..0c166f733a7d 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/Smm/BmcElog.c
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/Smm/BmcElog.c
@@ -228,7 +228,7 @@ SetElogRedirInstall (
   // Now install the Protocol
   //
   NewHandle = NULL;
-  Status    = gSmst->SmmInstallProtocolInterface (
+  Status    = gMmst->MmInstallProtocolInterface (
                        &NewHandle,
                        &gSmmRedirElogProtocolGuid,
                        EFI_NATIVE_INTERFACE,
@@ -249,28 +249,20 @@ SetElogRedirInstall (
 }
 
 /**
-  InitializeBmcElogLayer.
-
-  @param ImageHandle - ImageHandle of the loaded driver
-  @param SystemTable - Pointer to the System Table
+  InitializeSmBmcElogLayer.
 
   @retval EFI_STATUS
 
 **/
 EFI_STATUS
-EFIAPI
 InitializeSmBmcElogLayer (
-  IN EFI_HANDLE        ImageHandle,
-  IN EFI_SYSTEM_TABLE  *SystemTable
+  VOID
   )
 {
   EFI_STATUS  Status;
 
   Status = EFI_SUCCESS;
 
-  gST = SystemTable;
-  gBS = gST->BootServices;
-
   mRedirProtoPrivate = AllocatePool (sizeof (EFI_BMC_ELOG_INSTANCE_DATA));
   ASSERT (mRedirProtoPrivate != NULL);
   if (mRedirProtoPrivate == NULL) {
diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/Smm/BmcElog.h b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/Smm/BmcElog.h
index 218af380a229..89680f2f0ff1 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/Smm/BmcElog.h
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/Smm/BmcElog.h
@@ -13,9 +13,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 // Statements that include other files
 //
 
-#include <Library/SmmServicesTableLib.h>
-#include <Library/SmmLib.h>
-#include <Library/UefiBootServicesTableLib.h>
+#include <Library/MmServicesTableLib.h>
 #include <Protocol/IpmiTransportProtocol.h>
 #include <Protocol/GenericElog.h>
 #include "BmcElogCommon.h"
@@ -40,4 +38,15 @@ typedef struct {
 
 #define INSTANCE_FROM_EFI_SM_ELOG_REDIR_THIS(a)  CR (a, EFI_BMC_ELOG_INSTANCE_DATA, BmcElog, SM_ELOG_REDIR_SIGNATURE)
 
+/**
+  InitializeSmBmcElogLayer.
+
+  @retval EFI_STATUS
+
+**/
+EFI_STATUS
+InitializeSmBmcElogLayer (
+  VOID
+  );
+
 #endif //_SMM_BMCELOG_H_
diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/Smm/BmcElogStandaloneMm.c b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/Smm/BmcElogStandaloneMm.c
new file mode 100644
index 000000000000..1d883a6cd1e7
--- /dev/null
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/Smm/BmcElogStandaloneMm.c
@@ -0,0 +1,28 @@
+/** @file
+  Entry Piont of Bmc Elog Standalone MM Driver.
+
+Copyright (c) 2023, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include "BmcElog.h"
+
+/**
+  InitializeBmcElogLayerStandaloneMm.
+
+  @param[in] ImageHandle   ImageHandle of the loaded driver
+  @param[in] SystemTable   Pointer to the MM System Table
+
+  @retval EFI_STATUS
+
+**/
+EFI_STATUS
+EFIAPI
+InitializeSmBmcElogLayerStandaloneMm (
+  IN EFI_HANDLE           ImageHandle,
+  IN EFI_MM_SYSTEM_TABLE  *SystemTable
+  )
+{
+  return InitializeSmBmcElogLayer ();
+}
diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/Smm/BmcElogTraditionalMm.c b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/Smm/BmcElogTraditionalMm.c
new file mode 100644
index 000000000000..16113f8bec27
--- /dev/null
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/Smm/BmcElogTraditionalMm.c
@@ -0,0 +1,28 @@
+/** @file
+  Entry Piont of Bmc Elog SMM Driver.
+
+Copyright (c) 2023, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include "BmcElog.h"
+
+/**
+  InitializeBmcElogLayerSmm.
+
+  @param[in] ImageHandle   ImageHandle of the loaded driver
+  @param[in] SystemTable   Pointer to the System Table
+
+  @retval EFI_STATUS
+
+**/
+EFI_STATUS
+EFIAPI
+InitializeSmBmcElogLayerSmm (
+  IN EFI_HANDLE        ImageHandle,
+  IN EFI_SYSTEM_TABLE  *SystemTable
+  )
+{
+  return InitializeSmBmcElogLayer ();
+}
diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/SmmBmcElog.inf b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/SmmBmcElog.inf
index d6880f8baa1b..8fa60fe6ac02 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/SmmBmcElog.inf
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/SmmBmcElog.inf
@@ -14,11 +14,12 @@
   MODULE_TYPE              = DXE_SMM_DRIVER
   PI_SPECIFICATION_VERSION = 0x0001000A
   VERSION_STRING           = 1.0
-  ENTRY_POINT              = InitializeSmBmcElogLayer
+  ENTRY_POINT              = InitializeSmBmcElogLayerSmm
 
 [Sources]
   Smm/BmcElog.c
   Smm/BmcElog.h
+  Smm/BmcElogTraditionalMm.c
   Common/BmcElogCommon.h
   Common/BmcElogCommon.c
 
@@ -30,9 +31,8 @@
 [LibraryClasses]
   UefiDriverEntryPoint
   DebugLib
-  UefiBootServicesTableLib
   ReportStatusCodeLib
-  SmmServicesTableLib
+  MmServicesTableLib
   IpmiBaseLib
 
 [Protocols]
diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/StandaloneMmBmcElog.inf b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/StandaloneMmBmcElog.inf
new file mode 100644
index 000000000000..9a229ab7abac
--- /dev/null
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/BmcElog/StandaloneMmBmcElog.inf
@@ -0,0 +1,44 @@
+### @file
+#
+# Copyright (c) 2023, Intel Corporation. All rights reserved.<BR>
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+###
+
+
+[Defines]
+  INF_VERSION              = 0x00010005
+  BASE_NAME                = SmBmcElogStandaloneMm
+  FILE_GUID                = 802bc368-2f35-4fb5-9675-bf76a7601690
+  MODULE_TYPE              = MM_STANDALONE
+  PI_SPECIFICATION_VERSION = 0x00010032
+  VERSION_STRING           = 1.0
+  ENTRY_POINT              = InitializeSmBmcElogLayerStandaloneMm
+
+[Sources]
+  Smm/BmcElog.c
+  Smm/BmcElog.h
+  Smm/BmcElogStandaloneMm.c
+  Common/BmcElogCommon.h
+  Common/BmcElogCommon.c
+
+[Packages]
+  IpmiFeaturePkg/IpmiFeaturePkg.dec
+  MdePkg/MdePkg.dec
+  MdeModulePkg/MdeModulePkg.dec
+
+[LibraryClasses]
+  StandaloneMmDriverEntryPoint
+  DebugLib
+  ReportStatusCodeLib
+  MmServicesTableLib
+  IpmiBaseLib
+
+[Protocols]
+  gSmmRedirElogProtocolGuid   # PROTOCOL ALWAYS_PRODUCED
+
+[Depex]
+  gEfiLoadedImageProtocolGuid AND
+  gSmmIpmiTransportProtocolGuid
+
diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc
index 12060d156ef4..bf8244469063 100644
--- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc
+++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc
@@ -130,6 +130,7 @@
   IpmiFeaturePkg/BmcAcpiSwChild/BmcAcpiSwChildStandaloneMm.inf
   IpmiFeaturePkg/BmcElog/DxeBmcElog.inf
   IpmiFeaturePkg/BmcElog/SmmBmcElog.inf
+  IpmiFeaturePkg/BmcElog/StandaloneMmBmcElog.inf
   IpmiFeaturePkg/GenericElog/Dxe/GenericElog.inf
   IpmiFeaturePkg/GenericElog/Smm/GenericElog.inf
   IpmiFeaturePkg/GenericElog/Smm/GenericElogStandaloneMm.inf
-- 
2.29.2.windows.2



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#112768): https://edk2.groups.io/g/devel/message/112768
Mute This Topic: https://groups.io/mt/103284565/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



  parent reply	other threads:[~2023-12-20 17:02 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-20 17:01 [edk2-devel] [PATCH edk2-platforms 0/4] IpmiFeaturePkg: Support Standalone MM Xu, Wei6
2023-12-20 17:01 ` [edk2-devel] [PATCH edk2-platforms 1/4] IpmiFeaturePkg/ServerManagementLib: " Xu, Wei6
2023-12-20 17:01 ` [edk2-devel] [PATCH edk2-platforms 2/4] IpmiFeaturePkg/BmcAcpiSwChild: " Xu, Wei6
2023-12-20 17:01 ` [edk2-devel] [PATCH edk2-platforms 3/4] IpmiFeaturePkg/GenericElog: " Xu, Wei6
2023-12-20 17:01 ` Xu, Wei6 [this message]
2023-12-21  1:58 ` [edk2-devel] [PATCH edk2-platforms 0/4] IpmiFeaturePkg: " Nate DeSimone
2023-12-21  2:02 ` Nate DeSimone

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2191e4b069e111eca0ecf0802f47496415fa98b5.1703090380.git.wei6.xu@intel.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox