Go to the source code of this file.
◆ HARDWARE_TIMER_ENABLED
| #define HARDWARE_TIMER_ENABLED (1 << 0) |
◆ HARDWARE_TIMER_ONESHOT
| #define HARDWARE_TIMER_ONESHOT (1 << 1) |
◆ HARDWARE_TIMER_PRECISE
| #define HARDWARE_TIMER_PRECISE (1 << 2) |
◆ HZ_TO_NS
◆ HARDWARE_TIMER
◆ PHARDWARE_TIMER
◆ PHARDWARE_TIMER_PROC
◆ ClockInitialize()
Definition at line 219 of file clock.c.
220{
222
223
224
227 {
228 wprintf(
L"FATAL: Performance counter not available\n");
230 }
231
232
233
234
237 {
238 wprintf(
L"FATAL: Cannot create IPS timer.\n");
240 }
241
243}
#define HARDWARE_TIMER_ENABLED
#define InitializeListHead(ListHead)
NTSTATUS NTAPI NtQueryPerformanceCounter(OUT PLARGE_INTEGER PerformanceCounter, OUT PLARGE_INTEGER PerformanceFrequency OPTIONAL)
static VOID FASTCALL IpsCallback(ULONGLONG ElapsedTime)
PHARDWARE_TIMER CreateHardwareTimer(ULONG Flags, ULONGLONG Delay, PHARDWARE_TIMER_PROC Callback)
static LARGE_INTEGER StartPerfCount
static LARGE_INTEGER Frequency
static PHARDWARE_TIMER IpsTimer
Referenced by EmulatorInitialize().
◆ ClockUpdate()
DWORD_PTR oldmask = SetThreadAffinityMask(GetCurrentThread(), 0);
SetThreadAffinityMask(GetCurrentThread(), oldmask);
Definition at line 76 of file clock.c.
77{
82
84 {
85
90
91
93 {
96 }
97
100 {
102
105
107
109 {
111 {
112
115 }
116 else
117 {
118
119 if (CurrentTickCount <= Timer->LastTick.LowPart) continue;
121 }
122
123 if (Ticks == 0) continue;
124 }
125
126 Timer->Callback(Ticks);
127
129 {
130
132 }
133
134
135 Timer->LastTick.QuadPart += Ticks *
Timer->Delay;
136 }
137
138
139
140
141 }
142}
#define HARDWARE_TIMER_ONESHOT
#define HARDWARE_TIMER_PRECISE
ULONG WINAPI DECLSPEC_HOTPATCH GetTickCount(void)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
struct _LIST_ENTRY * Flink
VOID DisableHardwareTimer(PHARDWARE_TIMER Timer)
static LARGE_INTEGER Counter
static ULONG CurrentTickCount
ULONGLONG CurrentCycleCount
#define CONTAINING_RECORD(address, type, field)
static int Link(const char **args)
Referenced by CpuSimulate().
◆ CreateHardwareTimer()
◆ DestroyHardwareTimer()
Definition at line 210 of file clock.c.
211{
213 {
216 }
217}
BOOLEAN NTAPI RtlFreeHeap(IN PVOID HeapHandle, IN ULONG Flags, IN PVOID HeapBase)
#define RemoveEntryList(Entry)
Referenced by CmosCleanup(), PS2Cleanup(), and VgaCleanup().
◆ DisableHardwareTimer()
◆ EnableHardwareTimer()
◆ SetHardwareTimerDelay()
◆ CurrentCycleCount
◆ CurrentIps