From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id BDC7E81EDE for ; Thu, 9 Feb 2017 19:28:20 -0800 (PST) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga101.jf.intel.com with ESMTP; 09 Feb 2017 19:28:20 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.35,138,1484035200"; d="scan'208";a="1105451482" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by fmsmga001.fm.intel.com with ESMTP; 09 Feb 2017 19:28:20 -0800 Received: from fmsmsx114.amr.corp.intel.com (10.18.116.8) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.248.2; Thu, 9 Feb 2017 19:28:19 -0800 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by FMSMSX114.amr.corp.intel.com (10.18.116.8) with Microsoft SMTP Server (TLS) id 14.3.248.2; Thu, 9 Feb 2017 19:28:19 -0800 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.88]) by SHSMSX104.ccr.corp.intel.com ([10.239.4.70]) with mapi id 14.03.0248.002; Fri, 10 Feb 2017 11:28:17 +0800 From: "Gao, Liming" To: "Yao, Jiewen" , "edk2-devel@lists.01.org" CC: "Kinney, Michael D" , Laszlo Ersek Thread-Topic: [PATCH 01/12] MdePkg/Include: Add SmiHandlerProfileLib.h Thread-Index: AQHSgii5AhoRsBrtFEG4uiz+3dquCKFhlxHg Date: Fri, 10 Feb 2017 03:28:17 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14D6D9979@shsmsx102.ccr.corp.intel.com> References: <1486571434-20000-1-git-send-email-jiewen.yao@intel.com> <1486571434-20000-2-git-send-email-jiewen.yao@intel.com> In-Reply-To: <1486571434-20000-2-git-send-email-jiewen.yao@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH 01/12] MdePkg/Include: Add SmiHandlerProfileLib.h X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Feb 2017 03:28:20 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Liming Gao >-----Original Message----- >From: Yao, Jiewen >Sent: Thursday, February 09, 2017 12:30 AM >To: edk2-devel@lists.01.org >Cc: Kinney, Michael D ; Gao, Liming >; Laszlo Ersek >Subject: [PATCH 01/12] MdePkg/Include: Add SmiHandlerProfileLib.h > >This library should be linked by SmmChildDispatch to >report the hardware SMI handler maintained by SmmChildDispatch. > >Cc: Michael D Kinney >Cc: Liming Gao >Cc: Laszlo Ersek >Contributed-under: TianoCore Contribution Agreement 1.0 >Signed-off-by: Jiewen Yao >--- > MdePkg/Include/Library/SmiHandlerProfileLib.h | 81 >++++++++++++++++++++ > MdePkg/MdePkg.dec | 5 +- > 2 files changed, 85 insertions(+), 1 deletion(-) > >diff --git a/MdePkg/Include/Library/SmiHandlerProfileLib.h >b/MdePkg/Include/Library/SmiHandlerProfileLib.h >new file mode 100644 >index 0000000..10b7323 >--- /dev/null >+++ b/MdePkg/Include/Library/SmiHandlerProfileLib.h >@@ -0,0 +1,81 @@ >+/** @file >+ Provides services to log the SMI handler registration. >+ >+ This API provides services for the SMM Child Dispatch Protocols provide= r, >+ to register SMI handler information to SmmCore. >+ >+ NOTE: >+ There is no need to update the consumers of SMST->SmiHandlerRegister() >or >+ the consumers of SMM Child Dispatch Protocols. >+ The SmmCore (who produces SMST) should have ability to register such >+ information directly. >+ The SmmChildDispatcher (who produces SMM Child Dispatch Protocols) >should >+ be responsible to call the services to register information to SMM Core= . >+ >+Copyright (c) 2017, Intel Corporation. All rights reserved.
>+This program and the accompanying materials >+are licensed and made available under the terms and conditions of the BSD >License >+which accompanies this distribution. The full text of the license may be >found at >+http://opensource.org/licenses/bsd-license.php >+ >+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" >BASIS, >+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER >EXPRESS OR IMPLIED. >+ >+**/ >+ >+#ifndef __SMI_HANDLER_PROFILE_LIB_H__ >+#define __SMI_HANDLER_PROFILE_LIB_H__ >+ >+#include >+ >+/** >+ This function is called by SmmChildDispatcher module to report >+ a new SMI handler is registered, to SmmCore. >+ >+ @param HandlerGuid The GUID to identify the type of the handler. >+ For the SmmChildDispatch protocol, the HandlerGu= id >+ must be the GUID of SmmChildDispatch protocol. >+ @param Handler The SMI handler. >+ @param CallerAddress The address of the module who registers the SMI >handler. >+ @param Context The context of the SMI handler. >+ For the SmmChildDispatch protocol, the Context >+ must match the one defined for SmmChildDispatch = protocol. >+ @param ContextSize The size of the context in bytes. >+ For the SmmChildDispatch protocol, the Context >+ must match the one defined for SmmChildDispatch = protocol. >+ >+ @retval EFI_SUCCESS The information is recorded. >+ @retval EFI_UNSUPPORTED The feature is unsupported. >+ @retval EFI_OUT_OF_RESOURCES There is no enough resource to record >the information. >+**/ >+EFI_STATUS >+EFIAPI >+SmiHandlerProfileRegisterHandler ( >+ IN EFI_GUID *HandlerGuid, >+ IN EFI_SMM_HANDLER_ENTRY_POINT2 Handler, >+ IN PHYSICAL_ADDRESS CallerAddress, >+ IN VOID *Context, OPTIONAL >+ IN UINTN ContextSize OPTIONAL >+ ); >+ >+/** >+ This function is called by SmmChildDispatcher module to report >+ an existing SMI handler is unregistered, to SmmCore. >+ >+ @param HandlerGuid The GUID to identify the type of the handler. >+ For the SmmChildDispatch protocol, the HandlerGu= id >+ must be the GUID of SmmChildDispatch protocol. >+ @param Handler The SMI handler. >+ >+ @retval EFI_SUCCESS The original record is removed. >+ @retval EFI_UNSUPPORTED The feature is unsupported. >+ @retval EFI_NOT_FOUND There is no record for the HandlerGuid an= d >handler. >+**/ >+EFI_STATUS >+EFIAPI >+SmiHandlerProfileUnregisterHandler ( >+ IN EFI_GUID *HandlerGuid, >+ IN EFI_SMM_HANDLER_ENTRY_POINT2 Handler >+ ); >+ >+#endif >diff --git a/MdePkg/MdePkg.dec b/MdePkg/MdePkg.dec >index f2bdb30..3310029 100644 >--- a/MdePkg/MdePkg.dec >+++ b/MdePkg/MdePkg.dec >@@ -4,7 +4,7 @@ > # It also provides the definitions(including PPIs/PROTOCOLs/GUIDs) of > # EFI1.10/UEFI2.6/PI1.4 and some Industry Standards. > # >-# Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.
>+# Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.
> # Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
> # (C) Copyright 2016 Hewlett Packard Enterprise Development LP
> # >@@ -254,6 +254,9 @@ > # > RngLib|Include/Library/RngLib.h > >+ ## @libraryclass Provides services to log the SMI handler registratio= n. >+ SmiHandlerProfileLib|Include/Library/SmiHandlerProfileLib.h >+ > [LibraryClasses.IPF] > ## @libraryclass The SAL Library provides a service to make a SAL CAL= L. > SalLib|Include/Library/SalLib.h >-- >2.7.4.windows.1