gem5
|
Timer based on standard POSIX timers. More...
#include <timer.hh>
Public Member Functions | |
PosixKvmTimer (int signo, clockid_t clockID, float hostFactor, Tick hostFreq) | |
~PosixKvmTimer () | |
void | arm (Tick ticks) |
Arm the timer so that it fires after a certain number of ticks. More... | |
void | disarm () |
Disarm the timer. More... | |
![]() | |
BaseKvmTimer (int signo, float hostFactor, Tick hostFreq) | |
Setup basic timer functionality shared by all timer implementations. More... | |
virtual | ~BaseKvmTimer () |
Tick | resolution () |
Determine the resolution of the timer in ticks. More... | |
Tick | ticksFromHostCycles (uint64_t cycles) |
Convert cycles executed on the host into Ticks executed in the simulator. More... | |
Tick | ticksFromHostNs (uint64_t ns) |
Convert nanoseconds executed on the host into Ticks executed in the simulator. More... | |
Protected Member Functions | |
Tick | calcResolution () |
Calculate the timer resolution, used by resolution() which caches the result. More... | |
![]() | |
uint64_t | hostNs (Tick ticks) |
Convert a time in simulator ticks to host nanoseconds. More... | |
uint64_t | hostCycles (Tick ticks) |
Convert a time in simulator ticks to host cycles. More... | |
Private Attributes | |
clockid_t | clockID |
timer_t | timer |
Additional Inherited Members | |
![]() | |
int | signo |
Signal to deliver when the timer times out. More... | |
Timer based on standard POSIX timers.
The POSIX timer API supports several different clock with different characteristics.
PosixKvmTimer::PosixKvmTimer | ( | int | signo, |
clockid_t | clockID, | ||
float | hostFactor, | ||
Tick | hostFreq | ||
) |
|
virtual |
Arm the timer so that it fires after a certain number of ticks.
ticks | Number of ticks until the timer fires |
Implements BaseKvmTimer.
Definition at line 102 of file timer.cc.
References DPRINTF, BaseKvmTimer::hostNs(), panic, timer, and ULL.
|
protectedvirtual |
Calculate the timer resolution, used by resolution() which caches the result.
Implements BaseKvmTimer.
Definition at line 134 of file timer.cc.
References clockID, MIN_HOST_CYCLES, panic, BaseKvmTimer::resolution(), BaseKvmTimer::ticksFromHostCycles(), BaseKvmTimer::ticksFromHostNs(), and ULL.
|
virtual |
|
private |
Definition at line 203 of file timer.hh.
Referenced by calcResolution().
|
private |
Definition at line 204 of file timer.hh.
Referenced by arm(), disarm(), PosixKvmTimer(), and ~PosixKvmTimer().