XenevaOS
Loading...
Searching...
No Matches
Public Attributes | List of all members
EFI_SMM_PERIODIC_TIMER_REGISTER_CONTEXT Struct Reference

#include <SmmPeriodicTimerDispatch2.h>

Public Attributes

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.

Member Data 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.

◆ 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.


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