Wrote some simple MSR code

This commit is contained in:
2021-04-15 04:44:41 -05:00
parent c47a3dd73b
commit 8eafcf899b
2 changed files with 39 additions and 0 deletions

17
src/x86/msr.c Normal file
View File

@@ -0,0 +1,17 @@
#include "msr.h"
void read_msr(enum msr_id_t msr_addr, uint64_t *value)
{
uint64_t v;
asm volatile("rdmsr"
: "=edx:eax" (v)
: "ecx" (msr_addr));
*value = v;
}
void write_msr(enum msr_id_t msr_addr, uint64_t *value)
{
uint64_t v = *value;
asm volatile("wrmsr"
:: "ecx"(msr_addr), "A"(v));
}