TianoCore EDK2 master
Loading...
Searching...
No Matches
EFI_SMM_PERIODIC_TIMER_REGISTER_CONTEXT Struct Reference

#include <MdePkg/Include/Protocol/SmmPeriodicTimerDispatch2.h>

Data Fields

UINT64 Period
 
UINT64 SmiTickInterval
 

Detailed Description

Example: A chipset supports periodic SMIs on every 64ms or 2 seconds. A child wishes schedule a period SMI to fire on a period of 3 seconds, there are several ways to approach the problem:

  1. The child may accept a 4 second periodic rate, in which case it registers with Period = 40000 SmiTickInterval = 20000 The resulting SMI will occur every 2 seconds with the child called back on every 2nd SMI. NOTE: the same result would occur if the child set SmiTickInterval = 0.
  2. The child may choose the finer granularity SMI (64ms): Period = 30000 SmiTickInterval = 640 The resulting SMI will occur every 64ms with the child called back on every 47th SMI. NOTE: the child driver should be aware that this will result in more SMIs occuring during system runtime which can negatively impact system performance.

Definition at line 42 of file SmmPeriodicTimerDispatch2.h.

Field Documentation

◆ Period

UINT64 EFI_SMM_PERIODIC_TIMER_REGISTER_CONTEXT::Period

The minimum period of time in 100 nanosecond units that the child gets called. The child will be called back after a time greater than the time Period.

Definition at line 47 of file SmmPeriodicTimerDispatch2.h.

◆ SmiTickInterval

UINT64 EFI_SMM_PERIODIC_TIMER_REGISTER_CONTEXT::SmiTickInterval

The period of time interval between SMIs. Children of this interface should use this field when registering for periodic timer intervals when a finer granularity periodic SMI is desired.

Definition at line 53 of file SmmPeriodicTimerDispatch2.h.


The documentation for this struct was generated from the following file: