init: raw cpuid/rdtsc access via ctypes

This commit is contained in:
ImSavsis 2026-07-19 23:29:46 +05:00
commit fa82965ab5
15 changed files with 437 additions and 0 deletions

18
native/rawcpu.cpp Normal file
View 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();
}
}