27 #ifndef INCLUDED_X86_X64 28 #define INCLUDED_X86_X64 33 #error "including x86_x64.h without ARCH_X86_X64=1" 45 #pragma pack(push, 1) // (allows casting to int*) 95 LIB_API
size_t Model();
162 static inline u64 rdtsc() {
return __rdtsc(); }
182 #endif // #ifndef INCLUDED_X86_X64 Definition: x86_x64.h:123
LIB_API size_t Generation()
u32 ecx
Definition: x86_x64.h:50
Definition: x86_x64.h:126
Definition: x86_x64.h:137
Definition: x86_x64.h:127
Definition: x86_x64.h:121
Vendors Vendor()
Definition: x86_x64.cpp:210
Definition: x86_x64.h:124
Definition: x86_x64.h:129
u32 edx
Definition: x86_x64.h:51
uint64_t u64
Definition: types.h:40
Definition: x86_x64.h:136
Definition: x86_x64.h:114
Definition: x86_x64.h:118
Definition: x86_x64.h:116
uint32_t u32
Definition: types.h:39
Definition: x86_x64.h:138
Models
Definition: x86_x64.h:82
bool cpuid(CpuidRegs *regs)
invoke CPUID instruction.
Definition: x86_x64.cpp:108
Caps
bit indices of CPU capability flags (128 bits).
Definition: x86_x64.h:111
u32 ebx
Definition: x86_x64.h:49
Definition: x86_x64.h:115
double ClockFrequency()
measure the CPU clock frequency via rdtsc and timer_Time.
Definition: x86_x64.cpp:439
void DebugBreak()
trigger a breakpoint inside this function when it is called.
Definition: x86_x64.cpp:395
Definition: x86_x64.h:122
void GetCapBits(u32 *d0, u32 *d1, u32 *d2, u32 *d3)
Definition: x86_x64.cpp:166
Definition: x86_x64.h:132
bool Cap(Caps cap)
Definition: x86_x64.cpp:152
Definition: x86_x64.h:125
u32 eax
Definition: x86_x64.h:48
size_t Family()
Definition: x86_x64.cpp:248
Definition: x86_x64.h:128
registers used/returned by cpuid
Definition: x86_x64.h:46
Definition: x86_x64.h:135
u64 rdtsc()
Definition: x86_x64.cpp:383
Vendors
CPU vendor.
Definition: x86_x64.h:72
size_t Model()
Definition: x86_x64.cpp:242
Definition: x86_x64.h:117