init: raw cpuid/rdtsc access via ctypes
This commit is contained in:
commit
fa82965ab5
15 changed files with 437 additions and 0 deletions
18
native/rawcpu.cpp
Normal file
18
native/rawcpu.cpp
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
#include <intrin.h>
|
||||
|
||||
extern "C" {
|
||||
|
||||
__declspec(dllexport) void raw_cpuid(int leaf, int subleaf, unsigned int* out) {
|
||||
int regs[4];
|
||||
__cpuidex(regs, leaf, subleaf);
|
||||
out[0] = static_cast<unsigned int>(regs[0]);
|
||||
out[1] = static_cast<unsigned int>(regs[1]);
|
||||
out[2] = static_cast<unsigned int>(regs[2]);
|
||||
out[3] = static_cast<unsigned int>(regs[3]);
|
||||
}
|
||||
|
||||
__declspec(dllexport) unsigned long long raw_rdtsc() {
|
||||
return __rdtsc();
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue