feat: add timer calibration
This commit is contained in:
parent
da848544c0
commit
43c87e5904
5 changed files with 144 additions and 5 deletions
21
kernel/include/util/cpuid.h
Normal file
21
kernel/include/util/cpuid.h
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
#pragma once
|
||||
|
||||
#include <cpuid.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include "util/optional.h"
|
||||
|
||||
struct cpuid_result_t {
|
||||
uint32_t eax;
|
||||
uint32_t ebx;
|
||||
uint32_t ecx;
|
||||
uint32_t edx;
|
||||
};
|
||||
|
||||
inline optional<cpuid_result_t> cpuid(uint32_t leaf, uint32_t subleaf = 0) {
|
||||
cpuid_result_t result{};
|
||||
if (__get_cpuid_count(leaf, subleaf, &result.eax, &result.ebx, &result.ecx, &result.edx) == 0) {
|
||||
return {};
|
||||
}
|
||||
return result;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue