From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id B20F2D81111 for ; Wed, 20 Dec 2023 17:02:10 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=Fs6kOtwSZIR5E4U/duimu8TCg9vh17Hj1zCKaWepweQ=; c=relaxed/simple; d=groups.io; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding; s=20140610; t=1703091729; v=1; b=pVjX5+jg6hDkv5HfF22oRb7lbp7fARC3eriVSLJjW3lSvdFC9kdHHAieZFylsfHVFyVTYlBn uU5InDlF+xZquLHB9zs0VDP8vtE7Xbr2QLkFebsDSVsoOlhyb4GWDAN5A54ftuuITzKhPx5PTMM X5ymhbuQTnIQX0XAgK2kxNk8= X-Received: by 127.0.0.2 with SMTP id 18irYY7687511xqrpJimPAti; Wed, 20 Dec 2023 09:02:09 -0800 X-Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.11]) by mx.groups.io with SMTP id smtpd.web10.26890.1703091715141496173 for ; Wed, 20 Dec 2023 09:02:08 -0800 X-IronPort-AV: E=McAfee;i="6600,9927,10930"; a="2671123" X-IronPort-AV: E=Sophos;i="6.04,291,1695711600"; d="scan'208";a="2671123" X-Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmvoesa105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Dec 2023 09:02:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10930"; a="920029768" X-IronPort-AV: E=Sophos;i="6.04,291,1695711600"; d="scan'208";a="920029768" X-Received: from shpfwdbuild003.ccr.corp.intel.com ([10.239.56.82]) by fmsmga001.fm.intel.com with ESMTP; 20 Dec 2023 09:02:07 -0800 From: "Xu, Wei6" To: devel@edk2.groups.io Cc: Wei6 Xu , Abner Chang , Nate DeSimone , Lixia Huang Subject: [edk2-devel] [PATCH edk2-platforms 4/4] IpmiFeaturePkg/BmcElog: Support Standalone MM Date: Thu, 21 Dec 2023 01:01:45 +0800 Message-Id: <2191e4b069e111eca0ecf0802f47496415fa98b5.1703090380.git.wei6.xu@intel.com> In-Reply-To: References: MIME-Version: 1.0 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,wei6.xu@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: rsRQkkpkFZZ7jcvaMlvsoAJjx7686176AA= Content-Transfer-Encoding: 8bit X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=pVjX5+jg; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=intel.com (policy=none) Refactor BmcElog to support Standalone MM. Remove unused code. Cc: Abner Chang Cc: Nate DeSimone Signed-off-by: Lixia Huang --- .../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 -#include -#include +#include #include #include #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.
+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.
+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.
+# +# 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] -=-=-=-=-=-=-=-=-=-=-=-