summaryrefslogtreecommitdiff
path: root/MdePkg/Include/Library/SmmPeriodicSmiLib.h
diff options
context:
space:
mode:
Diffstat (limited to 'MdePkg/Include/Library/SmmPeriodicSmiLib.h')
-rw-r--r--MdePkg/Include/Library/SmmPeriodicSmiLib.h184
1 files changed, 0 insertions, 184 deletions
diff --git a/MdePkg/Include/Library/SmmPeriodicSmiLib.h b/MdePkg/Include/Library/SmmPeriodicSmiLib.h
deleted file mode 100644
index dfdb5ebeb6..0000000000
--- a/MdePkg/Include/Library/SmmPeriodicSmiLib.h
+++ /dev/null
@@ -1,184 +0,0 @@
-/** @file
- Provides services to enable and disable periodic SMI handlers.
-
-Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
-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 __PERIODIC_SMI_LIB_H__
-#define __PERIODIC_SMI_LIB_H__
-
-#define PERIODIC_SMI_LIBRARY_ANY_CPU 0xffffffff
-
-/**
- This function returns a pointer to a table of supported periodic
- SMI tick periods in 100 ns units sorted from largest to smallest.
- The table contains a array of UINT64 values terminated by a tick
- period value of 0. The returned table must be treated as read-only
- data and must not be freed.
-
- @return A pointer to a table of UINT64 tick period values in
- 100ns units sorted from largest to smallest terminated
- by a tick period of 0.
-
-**/
-UINT64 *
-EFIAPI
-PeriodicSmiSupportedTickPeriod (
- VOID
- );
-
-/**
- This function returns the time in 100ns units since the periodic SMI
- handler function was called. If the periodic SMI handler was resumed
- through PeriodicSmiYield(), then the time returned is the time in
- 100ns units since PeriodicSmiYield() returned.
-
- @return The actual time in 100ns units that the periodic SMI handler
- has been executing. If this function is not called from within
- an enabled periodic SMI handler, then 0 is returned.
-
-**/
-UINT64
-EFIAPI
-PeriodicSmiExecutionTime (
- VOID
- );
-
-/**
- This function returns control back to the SMM Foundation. When the next
- periodic SMI for the currently executing handler is triggered, the periodic
- SMI handler will restarted from its registered DispatchFunction entry point.
- If this function is not called from within an enabled periodic SMI handler,
- then control is returned to the calling function.
-
-**/
-VOID
-EFIAPI
-PeriodicSmiExit (
- VOID
- );
-
-/**
- This function yields control back to the SMM Foundation. When the next
- periodic SMI for the currently executing handler is triggered, the periodic
- SMI handler will be resumed and this function will return. Use of this
- function requires a seperate stack for the periodic SMI handler. A non zero
- stack size must be specified in PeriodicSmiEnable() for this function to be
- used.
-
- If the stack size passed into PeriodicSmiEnable() was zero, the 0 is returned.
-
- If this function is not called from within an enabled periodic SMI handler,
- then 0 is returned.
-
- @return The actual time in 100ns units elasped since this function was
- called. A value of 0 indicates an unknown amount of time.
-
-**/
-UINT64
-EFIAPI
-PeriodicSmiYield (
- VOID
- );
-
-/**
- This function is a prototype for a periodic SMI handler function
- that may be enabled with PeriodicSmiEnable() and disabled with
- PeriodicSmiDisable().
-
- @param[in] Context Content registered with PeriodicSmiEnable().
- @param[in] ElapsedTime The actual time in 100ns units elasped since
- this function was called. A value of 0 indicates
- an unknown amount of time.
-
-**/
-typedef
-VOID
-(EFIAPI *PERIODIC_SMI_LIBRARY_HANDLER) (
- IN CONST VOID *Context OPTIONAL,
- IN UINT64 ElapsedTime
- );
-
-/**
- This function enables a periodic SMI handler.
-
- @param[in, out] DispatchHandle A pointer to the handle associated with the
- enabled periodic SMI handler. This is an
- optional parameter that may be NULL. If it is
- NULL, then the handle will not be returned,
- which means that the periodic SMI handler can
- never be disabled.
- @param[in] DispatchFunction A pointer to a periodic SMI handler function.
- @param[in] Context Optional content to pass into DispatchFunction.
- @param[in] TickPeriod The requested tick period in 100ns units that
- control should be givien to the periodic SMI
- handler. Must be one of the supported values
- returned by PeriodicSmiSupportedPickPeriod().
- @param[in] Cpu Specifies the CPU that is required to execute
- the periodic SMI handler. If Cpu is
- PERIODIC_SMI_LIBRARY_ANY_CPU, then the periodic
- SMI handler will always be executed on the SMST
- CurrentlyExecutingCpu, which may vary across
- periodic SMIs. If Cpu is between 0 and the SMST
- NumberOfCpus, then the periodic SMI will always
- be executed on the requested CPU.
- @param[in] StackSize The size, in bytes, of the stack to allocate for
- use by the periodic SMI handler. If 0, then the
- default stack will be used.
-
- @retval EFI_INVALID_PARAMETER DispatchFunction is NULL.
- @retval EFI_UNSUPPORTED TickPeriod is not a supported tick period. The
- supported tick periods can be retrieved using
- PeriodicSmiSupportedTickPeriod().
- @retval EFI_INVALID_PARAMETER Cpu is not PERIODIC_SMI_LIBRARY_ANY_CPU or in
- the range 0 to SMST NumberOfCpus.
- @retval EFI_OUT_OF_RESOURCES There are not enough resources to enable the
- periodic SMI handler.
- @retval EFI_OUT_OF_RESOURCES There are not enough resources to allocate the
- stack speficied by StackSize.
- @retval EFI_SUCCESS The periodic SMI handler was enabled.
-
-**/
-EFI_STATUS
-EFIAPI
-PeriodicSmiEnable (
- IN OUT EFI_HANDLE *DispatchHandle, OPTIONAL
- IN PERIODIC_SMI_LIBRARY_HANDLER DispatchFunction,
- IN CONST VOID *Context, OPTIONAL
- IN UINT64 TickPeriod,
- IN UINTN Cpu,
- IN UINTN StackSize
- );
-
-/**
- This function disables a periodic SMI handler that has been previously
- enabled with PeriodicSmiEnable().
-
- @param[in] DispatchHandle A handle associated with a previously enabled periodic
- SMI handler. This is an optional parameter that may
- be NULL. If it is NULL, then the active periodic SMI
- handlers is disabled.
-
- @retval FALSE DispatchHandle is NULL and there is no active periodic SMI handler.
- @retval FALSE The periodic SMI handler specified by DispatchHandle has
- not been enabled with PeriodicSmiEnable().
- @retval TRUE The periodic SMI handler specified by DispatchHandle has
- been disabled. If DispatchHandle is NULL, then the active
- periodic SMI handler has been disabled.
-
-**/
-BOOLEAN
-EFIAPI
-PeriodicSmiDisable (
- IN EFI_HANDLE DispatchHandle OPTIONAL
- );
-
-#endif