diff options
Diffstat (limited to 'MdeModulePkg/Universal/ReportStatusCodeRouter/Smm')
8 files changed, 538 insertions, 538 deletions
diff --git a/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterCommon.c b/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterCommon.c index 286378e1d7..f412ba59a7 100644 --- a/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterCommon.c +++ b/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterCommon.c @@ -1,226 +1,226 @@ -/** @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>
- SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include "ReportStatusCodeRouterCommon.h"
-
-LIST_ENTRY mCallbackListHead = INITIALIZE_LIST_HEAD_VARIABLE (mCallbackListHead);
-
-//
-// Report operation nest status.
-// If it is set, then the report operation has nested.
-//
-UINT32 mStatusCodeNestStatus = 0;
-
-EFI_MM_STATUS_CODE_PROTOCOL mSmmStatusCodeProtocol = {
- ReportDispatcher
-};
-
-EFI_MM_RSC_HANDLER_PROTOCOL mSmmRscHandlerProtocol = {
- Register,
- Unregister
-};
-
-/**
- Register the callback function for ReportStatusCode() notification.
-
- When this function is called the function pointer is added to an internal list and any future calls to
- ReportStatusCode() will be forwarded to the Callback function.
-
- @param[in] Callback A pointer to a function of type EFI_PEI_RSC_HANDLER_CALLBACK that is called
- when a call to ReportStatusCode() occurs.
-
- @retval EFI_SUCCESS Function was successfully registered.
- @retval EFI_INVALID_PARAMETER The callback function was NULL.
- @retval EFI_OUT_OF_RESOURCES The internal buffer ran out of space. No more functions can be
- registered.
- @retval EFI_ALREADY_STARTED The function was already registered. It can't be registered again.
-
-**/
-EFI_STATUS
-EFIAPI
-Register (
- IN EFI_MM_RSC_HANDLER_CALLBACK Callback
- )
-{
- LIST_ENTRY *Link;
- 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, 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.
- //
- return EFI_ALREADY_STARTED;
- }
- }
-
- CallbackEntry = (MM_RSC_HANDLER_CALLBACK_ENTRY *)AllocatePool (sizeof (MM_RSC_HANDLER_CALLBACK_ENTRY));
- ASSERT (CallbackEntry != NULL);
-
- CallbackEntry->Signature = MM_RSC_HANDLER_CALLBACK_ENTRY_SIGNATURE;
- CallbackEntry->RscHandlerCallback = Callback;
-
- InsertTailList (&mCallbackListHead, &CallbackEntry->Node);
-
- return EFI_SUCCESS;
-}
-
-/**
- Remove a previously registered callback function from the notification list.
-
- ReportStatusCode() messages will no longer be forwarded to the Callback function.
-
- @param[in] Callback A pointer to a function of type EFI_PEI_RSC_HANDLER_CALLBACK that is to be
- unregistered.
-
- @retval EFI_SUCCESS The function was successfully unregistered.
- @retval EFI_INVALID_PARAMETER The callback function was NULL.
- @retval EFI_NOT_FOUND The callback function was not found to be unregistered.
-
-**/
-EFI_STATUS
-EFIAPI
-Unregister (
- IN EFI_MM_RSC_HANDLER_CALLBACK Callback
- )
-{
- LIST_ENTRY *Link;
- 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, 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.
- //
- RemoveEntryList (&CallbackEntry->Node);
- FreePool (CallbackEntry);
- return EFI_SUCCESS;
- }
- }
-
- return EFI_NOT_FOUND;
-}
-
-/**
- Provides an interface that a software module can call to report a status code.
-
- @param This EFI_MM_STATUS_CODE_PROTOCOL instance.
- @param CodeType 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
- classify the entity as well as an operation.
- @param Instance The enumeration of a hardware or software entity within
- the system. Valid instance numbers start with 1.
- @param CallerId This optional parameter may be used to identify the caller.
- This parameter allows the status code driver to apply different rules to
- different callers.
- @param Data This optional parameter may be used to pass additional data.
-
- @retval EFI_SUCCESS The function completed successfully
- @retval EFI_DEVICE_ERROR The function should not be completed due to a device error.
-
-**/
-EFI_STATUS
-EFIAPI
-ReportDispatcher (
- IN CONST EFI_MM_STATUS_CODE_PROTOCOL *This,
- IN EFI_STATUS_CODE_TYPE CodeType,
- IN EFI_STATUS_CODE_VALUE Value,
- IN UINT32 Instance,
- IN CONST EFI_GUID *CallerId,
- IN EFI_STATUS_CODE_DATA *Data OPTIONAL
- )
-{
- LIST_ENTRY *Link;
- MM_RSC_HANDLER_CALLBACK_ENTRY *CallbackEntry;
-
- //
- // Use atom operation to avoid the reentant of report.
- // If current status is not zero, then the function is reentrancy.
- //
- if (InterlockedCompareExchange32 (&mStatusCodeNestStatus, 0, 1) == 1) {
- return EFI_DEVICE_ERROR;
- }
-
- for (Link = GetFirstNode (&mCallbackListHead); !IsNull (&mCallbackListHead, Link);) {
- 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.
- //
- Link = GetNextNode (&mCallbackListHead, Link);
- CallbackEntry->RscHandlerCallback (
- CodeType,
- Value,
- Instance,
- (EFI_GUID *)CallerId,
- Data
- );
- }
-
- //
- // Restore the nest status of report
- //
- InterlockedCompareExchange32 (&mStatusCodeNestStatus, 1, 0);
-
- return EFI_SUCCESS;
-}
-
-/**
- Entry point of Generic Status Code Driver.
-
- This function is the common entry point of MM Status Code Router.
- It produces MM Report Status Code Handler and Status Code protocol.
-
- @retval EFI_SUCCESS The entry point is executed successfully.
-
-**/
-EFI_STATUS
-GenericStatusCodeCommonEntry (
- VOID
- )
-{
- EFI_STATUS Status;
- EFI_HANDLE Handle;
-
- Handle = NULL;
-
- //
- // Install SmmRscHandler Protocol
- //
- Status = gMmst->MmInstallProtocolInterface (
- &Handle,
- &gEfiMmRscHandlerProtocolGuid,
- EFI_NATIVE_INTERFACE,
- &mSmmRscHandlerProtocol
- );
- ASSERT_EFI_ERROR (Status);
-
- //
- // Install SmmStatusCode Protocol
- //
- Status = gMmst->MmInstallProtocolInterface (
- &Handle,
- &gEfiMmStatusCodeProtocolGuid,
- EFI_NATIVE_INTERFACE,
- &mSmmStatusCodeProtocol
- );
- ASSERT_EFI_ERROR (Status);
-
- return EFI_SUCCESS;
-}
+/** @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> + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include "ReportStatusCodeRouterCommon.h" + +LIST_ENTRY mCallbackListHead = INITIALIZE_LIST_HEAD_VARIABLE (mCallbackListHead); + +// +// Report operation nest status. +// If it is set, then the report operation has nested. +// +UINT32 mStatusCodeNestStatus = 0; + +EFI_MM_STATUS_CODE_PROTOCOL mSmmStatusCodeProtocol = { + ReportDispatcher +}; + +EFI_MM_RSC_HANDLER_PROTOCOL mSmmRscHandlerProtocol = { + Register, + Unregister +}; + +/** + Register the callback function for ReportStatusCode() notification. + + When this function is called the function pointer is added to an internal list and any future calls to + ReportStatusCode() will be forwarded to the Callback function. + + @param[in] Callback A pointer to a function of type EFI_PEI_RSC_HANDLER_CALLBACK that is called + when a call to ReportStatusCode() occurs. + + @retval EFI_SUCCESS Function was successfully registered. + @retval EFI_INVALID_PARAMETER The callback function was NULL. + @retval EFI_OUT_OF_RESOURCES The internal buffer ran out of space. No more functions can be + registered. + @retval EFI_ALREADY_STARTED The function was already registered. It can't be registered again. + +**/ +EFI_STATUS +EFIAPI +Register ( + IN EFI_MM_RSC_HANDLER_CALLBACK Callback + ) +{ + LIST_ENTRY *Link; + 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, 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. + // + return EFI_ALREADY_STARTED; + } + } + + CallbackEntry = (MM_RSC_HANDLER_CALLBACK_ENTRY *)AllocatePool (sizeof (MM_RSC_HANDLER_CALLBACK_ENTRY)); + ASSERT (CallbackEntry != NULL); + + CallbackEntry->Signature = MM_RSC_HANDLER_CALLBACK_ENTRY_SIGNATURE; + CallbackEntry->RscHandlerCallback = Callback; + + InsertTailList (&mCallbackListHead, &CallbackEntry->Node); + + return EFI_SUCCESS; +} + +/** + Remove a previously registered callback function from the notification list. + + ReportStatusCode() messages will no longer be forwarded to the Callback function. + + @param[in] Callback A pointer to a function of type EFI_PEI_RSC_HANDLER_CALLBACK that is to be + unregistered. + + @retval EFI_SUCCESS The function was successfully unregistered. + @retval EFI_INVALID_PARAMETER The callback function was NULL. + @retval EFI_NOT_FOUND The callback function was not found to be unregistered. + +**/ +EFI_STATUS +EFIAPI +Unregister ( + IN EFI_MM_RSC_HANDLER_CALLBACK Callback + ) +{ + LIST_ENTRY *Link; + 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, 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. + // + RemoveEntryList (&CallbackEntry->Node); + FreePool (CallbackEntry); + return EFI_SUCCESS; + } + } + + return EFI_NOT_FOUND; +} + +/** + Provides an interface that a software module can call to report a status code. + + @param This EFI_MM_STATUS_CODE_PROTOCOL instance. + @param CodeType 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 + classify the entity as well as an operation. + @param Instance The enumeration of a hardware or software entity within + the system. Valid instance numbers start with 1. + @param CallerId This optional parameter may be used to identify the caller. + This parameter allows the status code driver to apply different rules to + different callers. + @param Data This optional parameter may be used to pass additional data. + + @retval EFI_SUCCESS The function completed successfully + @retval EFI_DEVICE_ERROR The function should not be completed due to a device error. + +**/ +EFI_STATUS +EFIAPI +ReportDispatcher ( + IN CONST EFI_MM_STATUS_CODE_PROTOCOL *This, + IN EFI_STATUS_CODE_TYPE CodeType, + IN EFI_STATUS_CODE_VALUE Value, + IN UINT32 Instance, + IN CONST EFI_GUID *CallerId, + IN EFI_STATUS_CODE_DATA *Data OPTIONAL + ) +{ + LIST_ENTRY *Link; + MM_RSC_HANDLER_CALLBACK_ENTRY *CallbackEntry; + + // + // Use atom operation to avoid the reentant of report. + // If current status is not zero, then the function is reentrancy. + // + if (InterlockedCompareExchange32 (&mStatusCodeNestStatus, 0, 1) == 1) { + return EFI_DEVICE_ERROR; + } + + for (Link = GetFirstNode (&mCallbackListHead); !IsNull (&mCallbackListHead, Link);) { + 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. + // + Link = GetNextNode (&mCallbackListHead, Link); + CallbackEntry->RscHandlerCallback ( + CodeType, + Value, + Instance, + (EFI_GUID *)CallerId, + Data + ); + } + + // + // Restore the nest status of report + // + InterlockedCompareExchange32 (&mStatusCodeNestStatus, 1, 0); + + return EFI_SUCCESS; +} + +/** + Entry point of Generic Status Code Driver. + + This function is the common entry point of MM Status Code Router. + It produces MM Report Status Code Handler and Status Code protocol. + + @retval EFI_SUCCESS The entry point is executed successfully. + +**/ +EFI_STATUS +GenericStatusCodeCommonEntry ( + VOID + ) +{ + EFI_STATUS Status; + EFI_HANDLE Handle; + + Handle = NULL; + + // + // Install SmmRscHandler Protocol + // + Status = gMmst->MmInstallProtocolInterface ( + &Handle, + &gEfiMmRscHandlerProtocolGuid, + EFI_NATIVE_INTERFACE, + &mSmmRscHandlerProtocol + ); + ASSERT_EFI_ERROR (Status); + + // + // Install SmmStatusCode Protocol + // + Status = gMmst->MmInstallProtocolInterface ( + &Handle, + &gEfiMmStatusCodeProtocolGuid, + EFI_NATIVE_INTERFACE, + &mSmmStatusCodeProtocol + ); + ASSERT_EFI_ERROR (Status); + + return EFI_SUCCESS; +} diff --git a/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterCommon.h b/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterCommon.h index 51b98244e3..21ebaae1de 100644 --- a/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterCommon.h +++ b/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterCommon.h @@ -1,115 +1,115 @@ -/** @file
- Internal include file for Report Status Code Router Driver.
-
- Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
- SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#ifndef __REPORT_STATUS_CODE_ROUTER_COMMON_H__
-#define __REPORT_STATUS_CODE_ROUTER_COMMON_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/MmServicesTableLib.h>
-#include <Library/MemoryAllocationLib.h>
-
-#define MM_RSC_HANDLER_CALLBACK_ENTRY_SIGNATURE SIGNATURE_32 ('s', 'h', 'c', 'e')
-
-typedef struct {
- UINTN Signature;
- EFI_MM_RSC_HANDLER_CALLBACK RscHandlerCallback;
- LIST_ENTRY Node;
-} MM_RSC_HANDLER_CALLBACK_ENTRY;
-
-/**
- Register the callback function for ReportStatusCode() notification.
-
- When this function is called the function pointer is added to an internal list and any future calls to
- ReportStatusCode() will be forwarded to the Callback function.
-
- @param[in] Callback A pointer to a function of type EFI_PEI_RSC_HANDLER_CALLBACK that is called
- when a call to ReportStatusCode() occurs.
-
- @retval EFI_SUCCESS Function was successfully registered.
- @retval EFI_INVALID_PARAMETER The callback function was NULL.
- @retval EFI_OUT_OF_RESOURCES The internal buffer ran out of space. No more functions can be
- registered.
- @retval EFI_ALREADY_STARTED The function was already registered. It can't be registered again.
-
-**/
-EFI_STATUS
-EFIAPI
-Register (
- IN EFI_MM_RSC_HANDLER_CALLBACK Callback
- );
-
-/**
- Remove a previously registered callback function from the notification list.
-
- ReportStatusCode() messages will no longer be forwarded to the Callback function.
-
- @param[in] Callback A pointer to a function of type EFI_PEI_RSC_HANDLER_CALLBACK that is to be
- unregistered.
-
- @retval EFI_SUCCESS The function was successfully unregistered.
- @retval EFI_INVALID_PARAMETER The callback function was NULL.
- @retval EFI_NOT_FOUND The callback function was not found to be unregistered.
-
-**/
-EFI_STATUS
-EFIAPI
-Unregister (
- IN EFI_MM_RSC_HANDLER_CALLBACK Callback
- );
-
-/**
- Provides an interface that a software module can call to report a status code.
-
- @param This EFI_MM_STATUS_CODE_PROTOCOL instance.
- @param CodeType 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
- classify the entity as well as an operation.
- @param Instance The enumeration of a hardware or software entity within
- the system. Valid instance numbers start with 1.
- @param CallerId This optional parameter may be used to identify the caller.
- This parameter allows the status code driver to apply different rules to
- different callers.
- @param Data This optional parameter may be used to pass additional data.
-
- @retval EFI_SUCCESS The function completed successfully
- @retval EFI_DEVICE_ERROR The function should not be completed due to a device error.
-
-**/
-EFI_STATUS
-EFIAPI
-ReportDispatcher (
- IN CONST EFI_MM_STATUS_CODE_PROTOCOL *This,
- IN EFI_STATUS_CODE_TYPE CodeType,
- IN EFI_STATUS_CODE_VALUE Value,
- IN UINT32 Instance,
- IN CONST EFI_GUID *CallerId,
- IN EFI_STATUS_CODE_DATA *Data OPTIONAL
- );
-
-/**
- Entry point of Generic Status Code Driver.
-
- This function is the common entry point of MM Status Code Router.
- It produces MM Report Status Code Handler and Status Code protocol.
-
- @retval EFI_SUCCESS The entry point is executed successfully.
-
-**/
-EFI_STATUS
-GenericStatusCodeCommonEntry (
- VOID
- );
-
-#endif
+/** @file + Internal include file for Report Status Code Router Driver. + + Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef __REPORT_STATUS_CODE_ROUTER_COMMON_H__ +#define __REPORT_STATUS_CODE_ROUTER_COMMON_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/MmServicesTableLib.h> +#include <Library/MemoryAllocationLib.h> + +#define MM_RSC_HANDLER_CALLBACK_ENTRY_SIGNATURE SIGNATURE_32 ('s', 'h', 'c', 'e') + +typedef struct { + UINTN Signature; + EFI_MM_RSC_HANDLER_CALLBACK RscHandlerCallback; + LIST_ENTRY Node; +} MM_RSC_HANDLER_CALLBACK_ENTRY; + +/** + Register the callback function for ReportStatusCode() notification. + + When this function is called the function pointer is added to an internal list and any future calls to + ReportStatusCode() will be forwarded to the Callback function. + + @param[in] Callback A pointer to a function of type EFI_PEI_RSC_HANDLER_CALLBACK that is called + when a call to ReportStatusCode() occurs. + + @retval EFI_SUCCESS Function was successfully registered. + @retval EFI_INVALID_PARAMETER The callback function was NULL. + @retval EFI_OUT_OF_RESOURCES The internal buffer ran out of space. No more functions can be + registered. + @retval EFI_ALREADY_STARTED The function was already registered. It can't be registered again. + +**/ +EFI_STATUS +EFIAPI +Register ( + IN EFI_MM_RSC_HANDLER_CALLBACK Callback + ); + +/** + Remove a previously registered callback function from the notification list. + + ReportStatusCode() messages will no longer be forwarded to the Callback function. + + @param[in] Callback A pointer to a function of type EFI_PEI_RSC_HANDLER_CALLBACK that is to be + unregistered. + + @retval EFI_SUCCESS The function was successfully unregistered. + @retval EFI_INVALID_PARAMETER The callback function was NULL. + @retval EFI_NOT_FOUND The callback function was not found to be unregistered. + +**/ +EFI_STATUS +EFIAPI +Unregister ( + IN EFI_MM_RSC_HANDLER_CALLBACK Callback + ); + +/** + Provides an interface that a software module can call to report a status code. + + @param This EFI_MM_STATUS_CODE_PROTOCOL instance. + @param CodeType 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 + classify the entity as well as an operation. + @param Instance The enumeration of a hardware or software entity within + the system. Valid instance numbers start with 1. + @param CallerId This optional parameter may be used to identify the caller. + This parameter allows the status code driver to apply different rules to + different callers. + @param Data This optional parameter may be used to pass additional data. + + @retval EFI_SUCCESS The function completed successfully + @retval EFI_DEVICE_ERROR The function should not be completed due to a device error. + +**/ +EFI_STATUS +EFIAPI +ReportDispatcher ( + IN CONST EFI_MM_STATUS_CODE_PROTOCOL *This, + IN EFI_STATUS_CODE_TYPE CodeType, + IN EFI_STATUS_CODE_VALUE Value, + IN UINT32 Instance, + IN CONST EFI_GUID *CallerId, + IN EFI_STATUS_CODE_DATA *Data OPTIONAL + ); + +/** + Entry point of Generic Status Code Driver. + + This function is the common entry point of MM Status Code Router. + It produces MM Report Status Code Handler and Status Code protocol. + + @retval EFI_SUCCESS The entry point is executed successfully. + +**/ +EFI_STATUS +GenericStatusCodeCommonEntry ( + VOID + ); + +#endif diff --git a/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterSmm.inf b/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterSmm.inf index 539badc4c7..a8c66bf085 100644 --- a/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterSmm.inf +++ b/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterSmm.inf @@ -1,52 +1,52 @@ -## @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>
-#
-# SPDX-License-Identifier: BSD-2-Clause-Patent
-#
-#
-##
-
-[Defines]
- INF_VERSION = 0x00010005
- BASE_NAME = ReportStatusCodeRouterSmm
- MODULE_UNI_FILE = ReportStatusCodeRouterSmm.uni
- FILE_GUID = A6885402-D022-4b0e-A509-4711B90F2A39
- MODULE_TYPE = DXE_SMM_DRIVER
- PI_SPECIFICATION_VERSION = 0x0001000A
- VERSION_STRING = 1.0
- ENTRY_POINT = GenericStatusCodeTraditionalEntry
-
-#
-# The following information is for reference only and not required by the build tools.
-#
-# VALID_ARCHITECTURES = IA32 X64
-#
-
-[Sources]
- ReportStatusCodeRouterCommon.c
- ReportStatusCodeRouterCommon.h
- ReportStatusCodeRouterTraditional.c
-
-[Packages]
- MdePkg/MdePkg.dec
- MdeModulePkg/MdeModulePkg.dec
-
-[LibraryClasses]
- MmServicesTableLib
- UefiDriverEntryPoint
- DebugLib
- BaseLib
- SynchronizationLib
- MemoryAllocationLib
-
-[Protocols]
- gEfiMmRscHandlerProtocolGuid ## PRODUCES
- gEfiMmStatusCodeProtocolGuid ## PRODUCES
-
-[Depex]
- TRUE
-
-[UserExtensions.TianoCore."ExtraFiles"]
- ReportStatusCodeRouterSmmExtra.uni
+## @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> +# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +# +## + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = ReportStatusCodeRouterSmm + MODULE_UNI_FILE = ReportStatusCodeRouterSmm.uni + FILE_GUID = A6885402-D022-4b0e-A509-4711B90F2A39 + MODULE_TYPE = DXE_SMM_DRIVER + PI_SPECIFICATION_VERSION = 0x0001000A + VERSION_STRING = 1.0 + ENTRY_POINT = GenericStatusCodeTraditionalEntry + +# +# The following information is for reference only and not required by the build tools. +# +# VALID_ARCHITECTURES = IA32 X64 +# + +[Sources] + ReportStatusCodeRouterCommon.c + ReportStatusCodeRouterCommon.h + ReportStatusCodeRouterTraditional.c + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + +[LibraryClasses] + MmServicesTableLib + UefiDriverEntryPoint + DebugLib + BaseLib + SynchronizationLib + MemoryAllocationLib + +[Protocols] + gEfiMmRscHandlerProtocolGuid ## PRODUCES + gEfiMmStatusCodeProtocolGuid ## PRODUCES + +[Depex] + TRUE + +[UserExtensions.TianoCore."ExtraFiles"] + ReportStatusCodeRouterSmmExtra.uni diff --git a/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterSmm.uni b/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterSmm.uni index b65f8b6d29..b44d854a08 100644 --- a/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterSmm.uni +++ b/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterSmm.uni @@ -1,16 +1,16 @@ -// /** @file
-// Report Status Code Router Driver which produces SMM Report Stataus Code Handler Protocol and SMM Status Code Protocol.
-//
-// Report Status Code Router Driver that produces SMM Report Status Code Handler Protocol and SMM Status Code Protocol.
-//
-// Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-// **/
-
-
-#string STR_MODULE_ABSTRACT #language en-US "Produces SMM Report Status Code Handler Protocol and SMM Status Code Protocol"
-
-#string STR_MODULE_DESCRIPTION #language en-US "Report Status Code Router Driver that produces SMM Report Status Code Handler Protocol and SMM Status Code Protocol."
-
+// /** @file +// Report Status Code Router Driver which produces SMM Report Stataus Code Handler Protocol and SMM Status Code Protocol. +// +// Report Status Code Router Driver that produces SMM Report Status Code Handler Protocol and SMM Status Code Protocol. +// +// Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR> +// +// SPDX-License-Identifier: BSD-2-Clause-Patent +// +// **/ + + +#string STR_MODULE_ABSTRACT #language en-US "Produces SMM Report Status Code Handler Protocol and SMM Status Code Protocol" + +#string STR_MODULE_DESCRIPTION #language en-US "Report Status Code Router Driver that produces SMM Report Status Code Handler Protocol and SMM Status Code Protocol." + diff --git a/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterSmmExtra.uni b/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterSmmExtra.uni index 771c47a384..37f31a69f1 100644 --- a/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterSmmExtra.uni +++ b/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterSmmExtra.uni @@ -1,14 +1,14 @@ -// /** @file
-// ReportStatusCodeRouterSmm Localized Strings and Content
-//
-// Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-// **/
-
-#string STR_PROPERTIES_MODULE_NAME
-#language en-US
-"Status Code Routing SMM Driver"
-
-
+// /** @file +// ReportStatusCodeRouterSmm Localized Strings and Content +// +// Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR> +// +// SPDX-License-Identifier: BSD-2-Clause-Patent +// +// **/ + +#string STR_PROPERTIES_MODULE_NAME +#language en-US +"Status Code Routing SMM Driver" + + diff --git a/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterStandaloneMm.c b/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterStandaloneMm.c index 0ca8c31312..f0681dc9b2 100644 --- a/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterStandaloneMm.c +++ b/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterStandaloneMm.c @@ -1,33 +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 MM Status Code Router .
- It produces MM 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 ();
-}
+/** @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 MM Status Code Router . + It produces MM 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/ReportStatusCodeRouterStandaloneMm.inf b/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterStandaloneMm.inf index 7aa0127e0b..a471bcd106 100644 --- a/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterStandaloneMm.inf +++ b/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterStandaloneMm.inf @@ -1,49 +1,49 @@ -## @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
-#
-#
-##
-
-[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
+## @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 +# +# +## + +[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 diff --git a/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterTraditional.c b/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterTraditional.c index 98dce689ea..87d7f20a5b 100644 --- a/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterTraditional.c +++ b/MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterTraditional.c @@ -1,33 +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 ();
-}
+/** @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 (); +} |
