From 495797c5578e88cd1a769e918502cf426f08d6b0 Mon Sep 17 00:00:00 2001 From: rsun3 Date: Tue, 16 Aug 2011 02:58:20 +0000 Subject: 1. Add two performance measurement points for SMM performance measurement; 2. Introduce SmmCorePlatformHookLib library class defining two platform hook points. Update PI Smm Core to call the hook points before and after invoking registered SMI handlers. A NULL instance of this library class is implemented. Note that after this check in, DSC files consuming the PiSmmCore.inf need to be updated to add a library instance for SmmCorePlatformHookLib library class. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12140 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Include/Library/SmmCorePlatformHookLib.h | 50 ++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 MdeModulePkg/Include/Library/SmmCorePlatformHookLib.h (limited to 'MdeModulePkg/Include/Library') diff --git a/MdeModulePkg/Include/Library/SmmCorePlatformHookLib.h b/MdeModulePkg/Include/Library/SmmCorePlatformHookLib.h new file mode 100644 index 0000000000..773d0615b7 --- /dev/null +++ b/MdeModulePkg/Include/Library/SmmCorePlatformHookLib.h @@ -0,0 +1,50 @@ +/** @file + Smm Core Platform Hook Library. This library class defines a set of platform + hooks called by the SMM Core. + +Copyright (c) 2011, 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 that 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 __SMM_CORE_PLATFORM_HOOK_LIB__ +#define __SMM_CORE_PLATFORM_HOOK_LIB__ + +/** + Performs platform specific tasks before invoking registered SMI handlers. + + This function performs platform specific tasks before invoking registered SMI handlers. + + @retval EFI_SUCCESS The platform hook completes successfully. + @retval Other values The paltform hook cannot complete due to some error. + +**/ +EFI_STATUS +EFIAPI +PlatformHookBeforeSmmDispatch ( + VOID + ); + + +/** + Performs platform specific tasks after invoking registered SMI handlers. + + This function performs platform specific tasks after invoking registered SMI handlers. + + @retval EFI_SUCCESS The platform hook completes successfully. + @retval Other values The paltform hook cannot complete due to some error. + +**/ +EFI_STATUS +EFIAPI +PlatformHookAfterSmmDispatch ( + VOID + ); + +#endif -- cgit v1.2.3