EDK2 doxygen online documents - Firmware Encoding Index 1
EDK2 doxygen online documents - Firmware Encoding Index
Data Fields

PERIODIC_SMI_LIBRARY_HANDLER_CONTEXT Struct Reference

Data Fields

UINT32 Signature
LIST_ENTRY Link
PERIODIC_SMI_LIBRARY_HANDLER DispatchFunction
VOID * Context
UINT64 TickPeriod
UINTN Cpu
UINTN StackSize
VOID * Stack
SPIN_LOCK DispatchLock
UINT64 PerfomanceCounterRate
UINT64 PerfomanceCounterStartValue
UINT64 PerfomanceCounterEndValue
EFI_SMM_PERIODIC_TIMER_REGISTER_CONTEXT RegisterContext
EFI_HANDLE DispatchHandle
UINT64 DispatchTotalTime
UINT64 DispatchCheckPointTime
BASE_LIBRARY_JUMP_BUFFER DispatchJumpBuffer
BOOLEAN YieldFlag
BASE_LIBRARY_JUMP_BUFFER YieldJumpBuffer
UINT64 ElapsedTime

Detailed Description

Structure that contains state information for an enabled periodic SMI handler

Definition at line 43 of file SmmPeriodicSmiLib.c.


Field Documentation

VOID* Context

The context to pass into DispatchFunction

Definition at line 59 of file SmmPeriodicSmiLib.c.

The Cpu number that is required to execute DispatchFunction. If Cpu is set to PERIODIC_SMI_LIBRARY_ANY_CPU, then DispatchFunction may be executed on any CPU.

Definition at line 69 of file SmmPeriodicSmiLib.c.

The performance counter value that was captured the last time that the periodic SMI handler called PeriodcSmiExecutionTime(). This allows the time value returned by PeriodcSmiExecutionTime() to be accurate even when the performance counter rolls over.

Definition at line 120 of file SmmPeriodicSmiLib.c.

PERIODIC_SMI_LIBRARY_HANDLER DispatchFunction

The dispatch function to called to invoke an enabled periodic SMI handler.

Definition at line 55 of file SmmPeriodicSmiLib.c.

The handle returned from the Register() function of the SMM Periodic Timer Dispatch Protocol when a periodic SMI handler is enabled.

Definition at line 108 of file SmmPeriodicSmiLib.c.

BASE_LIBRARY_JUMP_BUFFER DispatchJumpBuffer

Buffer used to save the context when control is transfer from this library to an enabled periodic SMI handler. This saved context is used when the periodic SMI handler exits or yields.

Definition at line 126 of file SmmPeriodicSmiLib.c.

Spin lock used to wait for an AP to complete the execution of a periodic SMI handler

Definition at line 83 of file SmmPeriodicSmiLib.c.

The total number of performance counter ticks that the periodic SMI handler has been executing in its current invocation.

Definition at line 113 of file SmmPeriodicSmiLib.c.

The amount of time, in 100 ns units, that have elapsed since the last time the periodic SMI handler was invoked.

Definition at line 144 of file SmmPeriodicSmiLib.c.

The link entry to be inserted to the list of periodic SMI handlers.

Definition at line 51 of file SmmPeriodicSmiLib.c.

The end count value of the performance counter that is used to measure the amount of time that a periodic SMI handler executes.

Definition at line 98 of file SmmPeriodicSmiLib.c.

The rate in Hz of the performance counter that is used to measure the amount of time that a periodic SMI handler executes.

Definition at line 88 of file SmmPeriodicSmiLib.c.

The start count value of the performance counter that is used to measure the amount of time that a periodic SMI handler executes.

Definition at line 93 of file SmmPeriodicSmiLib.c.

The context record passed into the Register() function of the SMM Periodic Timer Dispatch Protocol when a periodic SMI handler is enabled.

Definition at line 103 of file SmmPeriodicSmiLib.c.

Signature value that must be set to PERIODIC_SMI_LIBRARY_HANDLER_CONTEXT_SIGNATURE

Definition at line 47 of file SmmPeriodicSmiLib.c.

VOID* Stack

A pointer to the stack allocated using AllocatePages(). This field will be NULL if StackSize is 0.

Definition at line 79 of file SmmPeriodicSmiLib.c.

The size, in bytes, of the stack allocated for a periodic SMI handler. This value must be a multiple of EFI_PAGE_SIZE.

Definition at line 74 of file SmmPeriodicSmiLib.c.

The tick period in 100 ns units that DispatchFunction should be called.

Definition at line 63 of file SmmPeriodicSmiLib.c.

Flag that is set to TRUE when a periodic SMI handler requests to yield using PeriodicSmiYield(). When this flag IS TRUE, YieldJumpBuffer is valid. When this flag is FALSE, YieldJumpBuffer is not valid.

Definition at line 132 of file SmmPeriodicSmiLib.c.

BASE_LIBRARY_JUMP_BUFFER YieldJumpBuffer

Buffer used to save the context when a periodic SMI handler requests to yield using PeriodicSmiYield(). This context is used to resume the execution of a periodic SMI handler the next time control is transferd to the periodic SMI handler that yielded.

Definition at line 139 of file SmmPeriodicSmiLib.c.


The documentation for this struct was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Defines