From 091e902bd31f9d53f9c51c71d3772e11a8ea211a Mon Sep 17 00:00:00 2001 From: Jiewen Yao Date: Fri, 10 Mar 2017 11:42:53 +0800 Subject: [PATCH 1/1] MdePkg/SmiHandlerProfile: Add Context support in Unregister The reason is that we observe that a platform may use same Handler for different context. In order to support Unregister such handler, we have to input context information as well. Cc: Jeff Fan Cc: Liming Gao Cc: Michael D Kinney Cc: Bret Barkelew Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao Reviewed-by: Jeff Fan Reviewed-by: Feng Tian --- MdePkg/Include/Library/SmiHandlerProfileLib.h | 8 +++++++- .../SmiHandlerProfileLibNull/SmiHandlerProfileLibNull.c | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/MdePkg/Include/Library/SmiHandlerProfileLib.h b/MdePkg/Include/Library/SmiHandlerProfileLib.h index 10b7323e03..77d19f9a70 100644 --- a/MdePkg/Include/Library/SmiHandlerProfileLib.h +++ b/MdePkg/Include/Library/SmiHandlerProfileLib.h @@ -66,6 +66,10 @@ SmiHandlerProfileRegisterHandler ( For the SmmChildDispatch protocol, the HandlerGuid must be the GUID of SmmChildDispatch protocol. @param Handler The SMI handler. + @param Context The context of the SMI handler. + If it is NOT NULL, it will be used to check what is registered. + @param ContextSize The size of the context in bytes. + If Context is NOT NULL, it will be used to check what is registered. @retval EFI_SUCCESS The original record is removed. @retval EFI_UNSUPPORTED The feature is unsupported. @@ -75,7 +79,9 @@ EFI_STATUS EFIAPI SmiHandlerProfileUnregisterHandler ( IN EFI_GUID *HandlerGuid, - IN EFI_SMM_HANDLER_ENTRY_POINT2 Handler + IN EFI_SMM_HANDLER_ENTRY_POINT2 Handler, + IN VOID *Context, OPTIONAL + IN UINTN ContextSize OPTIONAL ); #endif diff --git a/MdePkg/Library/SmiHandlerProfileLibNull/SmiHandlerProfileLibNull.c b/MdePkg/Library/SmiHandlerProfileLibNull/SmiHandlerProfileLibNull.c index 6ae47185c0..7f4855bd06 100644 --- a/MdePkg/Library/SmiHandlerProfileLibNull/SmiHandlerProfileLibNull.c +++ b/MdePkg/Library/SmiHandlerProfileLibNull/SmiHandlerProfileLibNull.c @@ -56,6 +56,10 @@ SmiHandlerProfileRegisterHandler ( For the SmmChildDispatch protocol, the HandlerGuid must be the GUID of SmmChildDispatch protocol. @param Handler The SMI handler. + @param Context The context of the SMI handler. + If it is NOT NULL, it will be used to check what is registered. + @param ContextSize The size of the context in bytes. + If Context is NOT NULL, it will be used to check what is registered. @retval EFI_SUCCESS The original record is removed. @retval EFI_UNSUPPORTED The feature is unsupported. @@ -65,7 +69,9 @@ EFI_STATUS EFIAPI SmiHandlerProfileUnregisterHandler ( IN EFI_GUID *HandlerGuid, - IN EFI_SMM_HANDLER_ENTRY_POINT2 Handler + IN EFI_SMM_HANDLER_ENTRY_POINT2 Handler, + IN VOID *Context, OPTIONAL + IN UINTN ContextSize OPTIONAL ) { return EFI_UNSUPPORTED; -- 2.39.2