Pyrogenesis HEAD
Pyrogenesis, a RTS Engine
x86_x64.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  x86_x64::CpuidRegs
 registers used/returned by cpuid More...
 

Namespaces

namespace  x86_x64
 

Enumerations

enum  x86_x64::Vendors { x86_x64::VENDOR_UNKNOWN , x86_x64::VENDOR_INTEL , x86_x64::VENDOR_AMD }
 CPU vendor. More...
 
enum  x86_x64::Models {
  x86_x64::MODEL_NEHALEM_EP = 0x1A , x86_x64::MODEL_NEHALEM_EP_2 = 0x1E , x86_x64::MODEL_I7_I5 = 0x1F , x86_x64::MODEL_CLARKDALE = 0x25 ,
  x86_x64::MODEL_WESTMERE_EP = 0x2C , x86_x64::MODEL_NEHALEM_EX = 0x2E , x86_x64::MODEL_WESTMERE_EX = 0x2F , x86_x64::MODEL_SANDY_BRIDGE = 0x2A ,
  x86_x64::MODEL_SANDY_BRIDGE_2 = 0x2D
}
 
enum  x86_x64::Caps {
  x86_x64::CAP_SSE3 = 0+0 , x86_x64::CAP_EST = 0+7 , x86_x64::CAP_SSSE3 = 0+9 , x86_x64::CAP_SSE41 = 0+19 ,
  x86_x64::CAP_SSE42 = 0+20 , x86_x64::CAP_FPU = 32+0 , x86_x64::CAP_TSC = 32+4 , x86_x64::CAP_MSR = 32+5 ,
  x86_x64::CAP_CMOV = 32+15 , x86_x64::CAP_TM_SCC = 32+22 , x86_x64::CAP_MMX = 32+23 , x86_x64::CAP_SSE = 32+25 ,
  x86_x64::CAP_SSE2 = 32+26 , x86_x64::CAP_HT = 32+28 , x86_x64::CAP_AMD_CMP_LEGACY = 64+1 , x86_x64::CAP_AMD_MP = 96+19 ,
  x86_x64::CAP_AMD_MMX_EXT = 96+22 , x86_x64::CAP_AMD_3DNOW_PRO = 96+30 , x86_x64::CAP_AMD_3DNOW = 96+31
}
 bit indices of CPU capability flags (128 bits). More...
 

Functions

bool x86_x64::cpuid (CpuidRegs *regs)
 invoke CPUID instruction. More...
 
Vendors x86_x64::Vendor ()
 
size_t x86_x64::Model ()
 
size_t x86_x64::Family ()
 
size_t x86_x64::Generation ()
 
bool x86_x64::Cap (Caps cap)
 
void x86_x64::GetCapBits (u32 *d0, u32 *d1, u32 *d2, u32 *d3)
 
u64 x86_x64::rdtsc ()
 
void x86_x64::DebugBreak ()
 trigger a breakpoint inside this function when it is called. More...
 
double x86_x64::ClockFrequency ()
 measure the CPU clock frequency via rdtsc and timer_Time. More...