From: "Wu, Hao A" <hao.a.wu@intel.com>
To: Kun Qin <kun.q@outlook.com>,
"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: "Wang, Jian J" <jian.j.wang@intel.com>,
"Bi, Dandan" <dandan.bi@intel.com>,
Liming Gao <gaoliming@byosoft.com.cn>,
"Yao, Jiewen" <jiewen.yao@intel.com>
Subject: Re: [PATCH v1 08/15] MdeModulePkg: ReportStatusCodeRouter: Support StandaloneMm RSC Router
Date: Tue, 22 Dec 2020 08:42:08 +0000 [thread overview]
Message-ID: <BN8PR11MB366626943E2276FEAACA4E82CADF0@BN8PR11MB3666.namprd11.prod.outlook.com> (raw)
In-Reply-To: <MWHPR06MB310226ED10D3C1ED2A23D5D7F3C30@MWHPR06MB3102.namprd06.prod.outlook.com>
A couple of inline comments below:
> -----Original Message-----
> From: Kun Qin <kun.q@outlook.com>
> Sent: Saturday, December 19, 2020 2:50 AM
> To: devel@edk2.groups.io
> Cc: Wang, Jian J <jian.j.wang@intel.com>; Wu, Hao A <hao.a.wu@intel.com>;
> Bi, Dandan <dandan.bi@intel.com>; Liming Gao <gaoliming@byosoft.com.cn>
> Subject: [PATCH v1 08/15] MdeModulePkg: ReportStatusCodeRouter:
> Support StandaloneMm RSC Router
>
> This change added support of RSC router under StandaloneMm. It replaces
> SMM version ReportStatusCode protocol definitions with MM version. This
> patch also switched to use gMmst instead of gSmst. Lastly, it abstracts
> standalone and traditional MM driver entrypoints into separate files to allow
> maximal common implementations.
>
> Cc: Jian J Wang <jian.j.wang@intel.com>
> Cc: Hao A Wu <hao.a.wu@intel.com>
> Cc: Dandan Bi <dandan.bi@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
>
> Signed-off-by: Kun Qin <kun.q@outlook.com>
> ---
>
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/{ReportStatusCo
> deRouterSmm.c => ReportStatusCodeRouterCommon.c} | 43 ++++++++------
> ---
>
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCod
> eRouterStandaloneMm.c | 33 +++++++++++++
>
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCod
> eRouterTraditional.c | 33 +++++++++++++
> MdeModulePkg/MdeModulePkg.dsc
> | 1 +
>
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/{ReportStatusCo
> deRouterSmm.h => ReportStatusCodeRouterCommon.h} | 50
> +++++++++++++-------
>
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCod
> eRouterSmm.inf | 13 ++---
>
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCod
> eRouterStandaloneMm.inf | 49 +++++++++++++++++++
> 7 files changed, 177 insertions(+), 45 deletions(-)
>
> diff --git
> a/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusC
> odeRouterSmm.c
> b/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusC
> odeRouterCommon.c
> similarity index 80%
> rename from
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCod
> eRouterSmm.c
> rename to
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCod
> eRouterCommon.c
> index c3ab5cd05045..585428aad669 100644
> ---
> a/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusC
> odeRouterSmm.c
> +++
> b/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusC
> ode
> +++ RouterCommon.c
> @@ -7,7 +7,7 @@
>
> **/
>
> -#include "ReportStatusCodeRouterSmm.h"
> +#include "ReportStatusCodeRouterCommon.h"
>
> LIST_ENTRY mCallbackListHead = INITIALIZE_LIST_HEAD_VARIABLE
> (mCallbackListHead);
>
> @@ -17,11 +17,11 @@ LIST_ENTRY mCallbackListHead =
> INITIALIZE_LIST_HEAD_VARIABLE (mCallba
> //
> UINT32 mStatusCodeNestStatus = 0;
>
> -EFI_SMM_STATUS_CODE_PROTOCOL mSmmStatusCodeProtocol = {
> +EFI_MM_STATUS_CODE_PROTOCOL mSmmStatusCodeProtocol = {
> ReportDispatcher
> };
>
> -EFI_SMM_RSC_HANDLER_PROTOCOL mSmmRscHandlerProtocol = {
> +EFI_MM_RSC_HANDLER_PROTOCOL mSmmRscHandlerProtocol = {
> Register,
> Unregister
> };
> @@ -45,18 +45,18 @@ EFI_SMM_RSC_HANDLER_PROTOCOL
> mSmmRscHandlerProtocol = { EFI_STATUS EFIAPI Register (
> - IN EFI_SMM_RSC_HANDLER_CALLBACK Callback
> + IN EFI_MM_RSC_HANDLER_CALLBACK Callback
> )
> {
> LIST_ENTRY *Link;
> - SMM_RSC_HANDLER_CALLBACK_ENTRY *CallbackEntry;
> + MM_RSC_HANDLER_CALLBACK_ENTRY *CallbackEntry;
>
> if (Callback == NULL) {
> return EFI_INVALID_PARAMETER;
> }
>
> for (Link = GetFirstNode (&mCallbackListHead); !IsNull (&mCallbackListHead,
> Link); Link = GetNextNode (&mCallbackListHead, Link)) {
> - CallbackEntry = CR (Link, SMM_RSC_HANDLER_CALLBACK_ENTRY, Node,
> SMM_RSC_HANDLER_CALLBACK_ENTRY_SIGNATURE);
> + CallbackEntry = CR (Link, MM_RSC_HANDLER_CALLBACK_ENTRY, Node,
> + MM_RSC_HANDLER_CALLBACK_ENTRY_SIGNATURE);
> if (CallbackEntry->RscHandlerCallback == Callback) {
> //
> // If the function was already registered. It can't be registered again.
> @@ -65,10 +65,10 @@ Register (
> }
> }
>
> - CallbackEntry = (SMM_RSC_HANDLER_CALLBACK_ENTRY *)AllocatePool
> (sizeof (SMM_RSC_HANDLER_CALLBACK_ENTRY));
> + CallbackEntry = (MM_RSC_HANDLER_CALLBACK_ENTRY *)AllocatePool
> (sizeof
> + (MM_RSC_HANDLER_CALLBACK_ENTRY));
> ASSERT (CallbackEntry != NULL);
>
> - CallbackEntry->Signature =
> SMM_RSC_HANDLER_CALLBACK_ENTRY_SIGNATURE;
> + CallbackEntry->Signature =
> MM_RSC_HANDLER_CALLBACK_ENTRY_SIGNATURE;
> CallbackEntry->RscHandlerCallback = Callback;
>
> InsertTailList (&mCallbackListHead, &CallbackEntry->Node); @@ -92,18
> +92,18 @@ Register ( EFI_STATUS EFIAPI Unregister (
> - IN EFI_SMM_RSC_HANDLER_CALLBACK Callback
> + IN EFI_MM_RSC_HANDLER_CALLBACK Callback
> )
> {
> LIST_ENTRY *Link;
> - SMM_RSC_HANDLER_CALLBACK_ENTRY *CallbackEntry;
> + MM_RSC_HANDLER_CALLBACK_ENTRY *CallbackEntry;
>
> if (Callback == NULL) {
> return EFI_INVALID_PARAMETER;
> }
>
> for (Link = GetFirstNode (&mCallbackListHead); !IsNull (&mCallbackListHead,
> Link); Link = GetNextNode (&mCallbackListHead, Link)) {
> - CallbackEntry = CR (Link, SMM_RSC_HANDLER_CALLBACK_ENTRY, Node,
> SMM_RSC_HANDLER_CALLBACK_ENTRY_SIGNATURE);
> + CallbackEntry = CR (Link, MM_RSC_HANDLER_CALLBACK_ENTRY, Node,
> + MM_RSC_HANDLER_CALLBACK_ENTRY_SIGNATURE);
> if (CallbackEntry->RscHandlerCallback == Callback) {
> //
> // If the function is found in list, delete it and return.
> @@ -140,16 +140,16 @@ Unregister (
> EFI_STATUS
> EFIAPI
> ReportDispatcher (
> - IN CONST EFI_SMM_STATUS_CODE_PROTOCOL *This,
> + IN CONST EFI_MM_STATUS_CODE_PROTOCOL *This,
> IN EFI_STATUS_CODE_TYPE Type,
> IN EFI_STATUS_CODE_VALUE Value,
> IN UINT32 Instance,
> - IN CONST EFI_GUID *CallerId OPTIONAL,
> + IN CONST EFI_GUID *CallerId,
> IN EFI_STATUS_CODE_DATA *Data OPTIONAL
> )
> {
> LIST_ENTRY *Link;
> - SMM_RSC_HANDLER_CALLBACK_ENTRY *CallbackEntry;
> + MM_RSC_HANDLER_CALLBACK_ENTRY *CallbackEntry;
>
> //
> // Use atom operation to avoid the reentant of report.
> @@ -160,7 +160,7 @@ ReportDispatcher (
> }
>
> for (Link = GetFirstNode (&mCallbackListHead); !IsNull (&mCallbackListHead,
> Link);) {
> - CallbackEntry = CR (Link, SMM_RSC_HANDLER_CALLBACK_ENTRY, Node,
> SMM_RSC_HANDLER_CALLBACK_ENTRY_SIGNATURE);
> + CallbackEntry = CR (Link, MM_RSC_HANDLER_CALLBACK_ENTRY, Node,
> + MM_RSC_HANDLER_CALLBACK_ENTRY_SIGNATURE);
> //
> // The handler may remove itself, so get the next handler in advance.
> //
> @@ -197,9 +197,8 @@ ReportDispatcher (
> **/
> EFI_STATUS
> EFIAPI
> -GenericStatusCodeSmmEntry (
> - IN EFI_HANDLE ImageHandle,
> - IN EFI_SYSTEM_TABLE *SystemTable
> +GenericStatusCodeCommonEntry (
> + VOID
> )
Could you help to remove the 'EFIAPI' for function GenericStatusCodeCommonEntry()?
And also update the function description comments for removed input parameters?
> {
> EFI_STATUS Status;
> @@ -210,9 +209,9 @@ GenericStatusCodeSmmEntry (
> //
> // Install SmmRscHandler Protocol
> //
> - Status = gSmst->SmmInstallProtocolInterface (
> + Status = gMmst->MmInstallProtocolInterface (
> &Handle,
> - &gEfiSmmRscHandlerProtocolGuid,
> + &gEfiMmRscHandlerProtocolGuid,
> EFI_NATIVE_INTERFACE,
> &mSmmRscHandlerProtocol
> );
> @@ -221,9 +220,9 @@ GenericStatusCodeSmmEntry (
> //
> // Install SmmStatusCode Protocol
> //
> - Status = gSmst->SmmInstallProtocolInterface (
> + Status = gMmst->MmInstallProtocolInterface (
> &Handle,
> - &gEfiSmmStatusCodeProtocolGuid,
> + &gEfiMmStatusCodeProtocolGuid,
> EFI_NATIVE_INTERFACE,
> &mSmmStatusCodeProtocol
> );
> diff --git
> a/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusC
> odeRouterStandaloneMm.c
> b/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusC
> odeRouterStandaloneMm.c
> new file mode 100644
> index 000000000000..501572719fdc
> --- /dev/null
> +++
> b/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusC
> ode
> +++ RouterStandaloneMm.c
> @@ -0,0 +1,33 @@
> +/** @file
> + Report Status Code Router Driver which produces SMM Report Stataus
> +Code Handler Protocol
> + and SMM Status Code Protocol.
> +
> + Copyright (c) 2009 - 2018, Intel Corporation. All rights
> + reserved.<BR> Copyright (c) Microsoft Corporation.
> + SPDX-License-Identifier: BSD-2-Clause-Patent
> +
> +**/
> +
> +#include "ReportStatusCodeRouterCommon.h"
> +
> +/**
> + Entry point of Generic Status Code Driver.
> +
> + This function is the entry point of SMM Status Code Router .
> + It produces SMM Report Stataus Code Handler and Status Code protocol.
> +
> + @param ImageHandle The firmware allocated handle for the EFI image.
> + @param SystemTable A pointer to the EFI System Table.
> +
> + @retval EFI_SUCCESS The entry point is executed successfully.
> +
> +**/
> +EFI_STATUS
> +EFIAPI
> +GenericStatusCodeStandaloneMmEntry (
> + IN EFI_HANDLE ImageHandle,
> + IN EFI_MM_SYSTEM_TABLE *SystemTable
> + )
> +{
> + return GenericStatusCodeCommonEntry (); }
> diff --git
> a/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusC
> odeRouterTraditional.c
> b/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusC
> odeRouterTraditional.c
> new file mode 100644
> index 000000000000..360a0eef6b6d
> --- /dev/null
> +++
> b/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusC
> ode
> +++ RouterTraditional.c
> @@ -0,0 +1,33 @@
> +/** @file
> + Report Status Code Router Driver which produces MM Report Stataus
> +Code Handler Protocol
> + and MM Status Code Protocol.
> +
> + Copyright (c) 2009 - 2018, Intel Corporation. All rights
> + reserved.<BR> Copyright (c) Microsoft Corporation.
> + SPDX-License-Identifier: BSD-2-Clause-Patent
> +
> +**/
> +
> +#include "ReportStatusCodeRouterCommon.h"
> +
> +/**
> + Entry point of Generic Status Code Driver.
> +
> + This function is the entry point of SMM Status Code Router .
> + It produces SMM Report Stataus Code Handler and Status Code protocol.
> +
> + @param ImageHandle The firmware allocated handle for the EFI image.
> + @param SystemTable A pointer to the EFI System Table.
> +
> + @retval EFI_SUCCESS The entry point is executed successfully.
> +
> +**/
> +EFI_STATUS
> +EFIAPI
> +GenericStatusCodeTraditionalEntry (
> + IN EFI_HANDLE ImageHandle,
> + IN EFI_SYSTEM_TABLE *SystemTable
> + )
> +{
> + return GenericStatusCodeCommonEntry (); }
> diff --git a/MdeModulePkg/MdeModulePkg.dsc
> b/MdeModulePkg/MdeModulePkg.dsc index dc85d108d958..84ad577c2851
> 100644
> --- a/MdeModulePkg/MdeModulePkg.dsc
> +++ b/MdeModulePkg/MdeModulePkg.dsc
> @@ -477,6 +477,7 @@ [Components.IA32, Components.X64]
>
> MdeModulePkg/Library/SmmReportStatusCodeLib/StandaloneMmReportSt
> atusCodeLib.inf
>
> MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCodeHandlerSm
> m.inf
>
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCod
> eRouterSmm.inf
> +
> +
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCod
> eRout
> + erStandaloneMm.inf
> MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.inf
>
> MdeModulePkg/Library/SmmMemoryAllocationProfileLib/SmmMemoryAllo
> cationProfileLib.inf
>
> MdeModulePkg/Library/PiSmmCoreMemoryAllocationLib/PiSmmCoreMem
> oryAllocationProfileLib.inf
> diff --git
> a/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusC
> odeRouterSmm.h
> b/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusC
> odeRouterCommon.h
> similarity index 70%
> rename from
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCod
> eRouterSmm.h
> rename to
> MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCod
> eRouterCommon.h
> index f8c48c62e790..f7962e773bb3 100644
> ---
> a/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusC
> odeRouterSmm.h
> +++
> b/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusC
> ode
> +++ RouterCommon.h
> @@ -6,28 +6,26 @@
>
> **/
>
> -#ifndef __REPORT_STATUS_CODE_ROUTER_SMM_H__
> -#define __REPORT_STATUS_CODE_ROUTER_SMM_H__
> +#ifndef __REPORT_STATUS_CODE_ROUTER_COMMON_H__
> +#define __REPORT_STATUS_CODE_ROUTER_COMMON_H__
>
> -
> -#include <Protocol/SmmReportStatusCodeHandler.h>
> -#include <Protocol/SmmStatusCode.h>
> +#include <Protocol/MmReportStatusCodeHandler.h>
> +#include <Protocol/MmStatusCode.h>
>
> #include <Library/BaseLib.h>
> #include <Library/SynchronizationLib.h> #include <Library/DebugLib.h>
> #include <Library/PcdLib.h> -#include <Library/UefiDriverEntryPoint.h> -
> #include <Library/SmmServicesTableLib.h>
> +#include <Library/MmServicesTableLib.h>
> #include <Library/MemoryAllocationLib.h>
>
> -#define SMM_RSC_HANDLER_CALLBACK_ENTRY_SIGNATURE
> SIGNATURE_32 ('s', 'h', 'c', 'e')
> +#define MM_RSC_HANDLER_CALLBACK_ENTRY_SIGNATURE
> SIGNATURE_32 ('s',
> +'h', 'c', 'e')
>
> typedef struct {
> UINTN Signature;
> - EFI_SMM_RSC_HANDLER_CALLBACK RscHandlerCallback;
> + EFI_MM_RSC_HANDLER_CALLBACK RscHandlerCallback;
> LIST_ENTRY Node;
> -} SMM_RSC_HANDLER_CALLBACK_ENTRY;
> +} MM_RSC_HANDLER_CALLBACK_ENTRY;
>
> /**
> Register the callback function for ReportStatusCode() notification.
> @@ -48,7 +46,7 @@ typedef struct {
> EFI_STATUS
> EFIAPI
> Register (
> - IN EFI_SMM_RSC_HANDLER_CALLBACK Callback
> + IN EFI_MM_RSC_HANDLER_CALLBACK Callback
> );
>
> /**
> @@ -67,13 +65,13 @@ Register (
> EFI_STATUS
> EFIAPI
> Unregister (
> - IN EFI_SMM_RSC_HANDLER_CALLBACK Callback
> + IN EFI_MM_RSC_HANDLER_CALLBACK Callback
> );
>
> /**
> Provides an interface that a software module can call to report a status
> code.
>
> - @param This EFI_SMM_STATUS_CODE_PROTOCOL instance.
> + @param This EFI_MM_RSC_HANDLER_CALLBACK instance.
> @param Type Indicates the type of status code being reported.
> @param Value Describes the current status of a hardware or
> software entity.
> This included information about the class and subclass that is
> used to @@ -92,12 +90,30 @@ Unregister ( EFI_STATUS EFIAPI
> ReportDispatcher (
> - IN CONST EFI_SMM_STATUS_CODE_PROTOCOL *This,
> - IN EFI_STATUS_CODE_TYPE Type,
> + IN CONST EFI_MM_STATUS_CODE_PROTOCOL *This,
> + IN EFI_STATUS_CODE_TYPE CodeType,
I found that the above parameter does not match the name with its implementation in .C files.
Could you help to update it?
> IN EFI_STATUS_CODE_VALUE Value,
> IN UINT32 Instance,
> - IN CONST EFI_GUID *CallerId OPTIONAL,
> - IN EFI_STATUS_CODE_DATA *Data OPTIONAL
> + IN CONST EFI_GUID *CallerId,
> + IN EFI_STATUS_CODE_DATA *Data OPTIONAL
> + );
> +
> +/**
> + Entry point of Generic Status Code Driver.
> +
> + This function is the entry point of SMM Status Code Router .
> + It produces SMM Report Stataus Code Handler and Status Code protocol.
> +
> + @param ImageHandle The firmware allocated handle for the EFI image.
> + @param SystemTable A pointer to the EFI System Table.
> +
> + @retval EFI_SUCCESS The entry point is executed successfully.
> +
> +**/
> +EFI_STATUS
> +EFIAPI
> +GenericStatusCodeCommonEntry (
> + VOID
> );
Could you help to remove the 'EFIAPI' for function GenericStatusCodeCommonEntry()?
And also update the function description comments for removed input parameters?
Best Regards,
Hao Wu
>
> #endif
> diff --git
> a/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusC
> odeRouterSmm.inf
> b/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusC
> odeRouterSmm.inf
> index 46fdcb7bf959..539badc4c755 100644
> ---
> a/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusC
> odeRouterSmm.inf
> +++
> b/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusC
> ode
> +++ RouterSmm.inf
> @@ -16,7 +16,7 @@ [Defines]
> MODULE_TYPE = DXE_SMM_DRIVER
> PI_SPECIFICATION_VERSION = 0x0001000A
> VERSION_STRING = 1.0
> - ENTRY_POINT = GenericStatusCodeSmmEntry
> + ENTRY_POINT = GenericStatusCodeTraditionalEntry
>
> #
> # The following information is for reference only and not required by the
> build tools.
> @@ -25,15 +25,16 @@ [Defines]
> #
>
> [Sources]
> - ReportStatusCodeRouterSmm.c
> - ReportStatusCodeRouterSmm.h
> + ReportStatusCodeRouterCommon.c
> + ReportStatusCodeRouterCommon.h
> + ReportStatusCodeRouterTraditional.c
>
> [Packages]
> MdePkg/MdePkg.dec
> MdeModulePkg/MdeModulePkg.dec
>
> [LibraryClasses]
> - SmmServicesTableLib
> + MmServicesTableLib
> UefiDriverEntryPoint
> DebugLib
> BaseLib
> @@ -41,8 +42,8 @@ [LibraryClasses]
> MemoryAllocationLib
>
> [Protocols]
> - gEfiSmmRscHandlerProtocolGuid ## PRODUCES
> - gEfiSmmStatusCodeProtocolGuid ## PRODUCES
> + gEfiMmRscHandlerProtocolGuid ## PRODUCES
> + gEfiMmStatusCodeProtocolGuid ## PRODUCES
>
> [Depex]
> TRUE
> diff --git
> a/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusC
> odeRouterStandaloneMm.inf
> b/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusC
> odeRouterStandaloneMm.inf
> new file mode 100644
> index 000000000000..f34b3e29d4ad
> --- /dev/null
> +++
> b/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusC
> ode
> +++ RouterStandaloneMm.inf
> @@ -0,0 +1,49 @@
> +## @file
> +# Report Status Code Router Driver which produces SMM Report Stataus
> Code Handler Protocol and SMM Status Code Protocol.
> +#
> +# Copyright (c) 2009 - 2018, Intel Corporation. All rights
> +reserved.<BR> # Copyright (c) Microsoft Corporation.
> +#
> +# SPDX-License-Identifier: BSD-2-Clause-Patent # # ##
> +
> +[Defines]
> + INF_VERSION = 0x00010005
> + BASE_NAME = ReportStatusCodeRouterStandaloneMm
> + FILE_GUID = EAEEDEF9-ABE7-4B95-82B0-5A534C899B46
> + MODULE_TYPE = MM_STANDALONE
> + PI_SPECIFICATION_VERSION = 0x00010032
> + VERSION_STRING = 1.0
> + ENTRY_POINT = GenericStatusCodeStandaloneMmEntry
> +
> +#
> +# The following information is for reference only and not required by the
> build tools.
> +#
> +# VALID_ARCHITECTURES = IA32 X64
> +#
> +
> +[Sources]
> + ReportStatusCodeRouterCommon.c
> + ReportStatusCodeRouterCommon.h
> + ReportStatusCodeRouterStandaloneMm.c
> +
> +[Packages]
> + MdePkg/MdePkg.dec
> + MdeModulePkg/MdeModulePkg.dec
> +
> +[LibraryClasses]
> + MmServicesTableLib
> + StandaloneMmDriverEntryPoint
> + DebugLib
> + BaseLib
> + SynchronizationLib
> + MemoryAllocationLib
> +
> +[Protocols]
> + gEfiMmRscHandlerProtocolGuid ## PRODUCES
> + gEfiMmStatusCodeProtocolGuid ## PRODUCES
> +
> +[Depex]
> + TRUE
> --
> 2.28.0.windows.1
next prev parent reply other threads:[~2020-12-22 8:42 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20201218185011.1366-1-kun.q@outlook.com>
2020-12-18 18:49 ` [PATCH v1 01/15] StandaloneMmPkg: StandaloneMmCoreEntryPoint: Extends support for X64 Kun Qin
2020-12-28 0:11 ` [edk2-devel] " Yao, Jiewen
2020-12-18 18:49 ` [PATCH v1 02/15] StandaloneMmPkg: StandaloneMmCoreHobLib: Extend support for x64 Mm Core Kun Qin
2020-12-28 0:12 ` Yao, Jiewen
2021-03-24 20:33 ` [edk2-devel] " Dawn
2020-12-18 18:49 ` [PATCH v1 03/15] StandaloneMmPkg: StandaloneMmCoreMemoryAllocationLib: Fix compiler warning Kun Qin
2020-12-28 0:14 ` Yao, Jiewen
2020-12-28 4:07 ` Kun Qin
2020-12-18 18:50 ` [PATCH v1 04/15] StandaloneMmPkg: StandaloneMmMemLib: Extends support for X64 architecture Kun Qin
2020-12-28 0:18 ` Yao, Jiewen
2020-12-28 4:15 ` Kun Qin
2020-12-28 6:24 ` Yao, Jiewen
2020-12-28 6:36 ` Kun Qin
2020-12-28 6:37 ` [edk2-devel] " Yao, Jiewen
2020-12-18 18:50 ` [PATCH v1 05/15] MdeModulePkg: SmmLockBoxSmmLib: Support StandaloneMm for SmmLockBoxLib Kun Qin
2020-12-22 8:35 ` [edk2-devel] " Wu, Hao A
2020-12-18 18:50 ` [PATCH v1 06/15] MdeModulePkg: SmmReportStatusCodeLib: ReportStatusCodeLib in StandaloneMm Kun Qin
2020-12-22 8:35 ` [edk2-devel] " Wu, Hao A
2020-12-22 19:15 ` Kun Qin
2020-12-23 6:09 ` Wu, Hao A
2020-12-24 1:53 ` 回复: " gaoliming
2020-12-24 9:11 ` Kun Qin
2020-12-29 1:23 ` 回复: " gaoliming
2020-12-29 1:31 ` Kun Qin
2020-12-18 18:50 ` [PATCH v1 07/15] MdeModulePkg: FirmwarePerformanceDataTable: Added StandaloneMm support Kun Qin
2020-12-22 8:36 ` Wu, Hao A
2020-12-22 20:06 ` [edk2-devel] " Kun Qin
2020-12-18 18:50 ` [PATCH v1 08/15] MdeModulePkg: ReportStatusCodeRouter: Support StandaloneMm RSC Router Kun Qin
2020-12-22 8:42 ` Wu, Hao A [this message]
2020-12-18 18:50 ` [PATCH v1 09/15] MdePkg: UefiDevicePathLib: Support UefiDevicePathLib under StandaloneMm Kun Qin
2021-01-04 18:32 ` [edk2-devel] " Kun Qin
2021-01-05 13:25 ` 回复: " gaoliming
2020-12-18 18:50 ` [PATCH v1 10/15] PcAtChipsetPkg: AcpiTimerLib: Added StandaloneMm instance of AcpiTimerLib Kun Qin
2021-01-04 18:30 ` [edk2-devel] " Kun Qin
2020-12-18 18:50 ` [PATCH v1 11/15] SecurityPkg: Tcg2PhysicalPresenceLib: Introduce StandaloneMm instance Kun Qin
2020-12-28 0:08 ` Yao, Jiewen
2020-12-18 18:50 ` [PATCH v1 12/15] SecurityPkg: Tcg2PpVendorLibNull: Added support for MM_STANDALONE type Kun Qin
2020-12-28 0:08 ` Yao, Jiewen
2020-12-18 18:50 ` [PATCH v1 13/15] SecurityPkg: Tpm2DeviceLibDTpm: Introduce StandaloneMm instance Kun Qin
2020-12-28 0:08 ` Yao, Jiewen
2020-12-18 18:50 ` [PATCH v1 14/15] UefiCpuPkg: CpuIo2Smm: Support of CpuIo driver under StandaloneMm Kun Qin
2021-01-04 18:31 ` [edk2-devel] " Kun Qin
2020-12-18 18:50 ` [PATCH v1 15/15] UefiCpuPkg: SmmCpuExceptionHandlerLib: Added StandaloneMm module support Kun Qin
2021-01-04 18:30 ` [edk2-devel] " Kun Qin
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=BN8PR11MB366626943E2276FEAACA4E82CADF0@BN8PR11MB3666.namprd11.prod.outlook.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