diff --git a/repos/base-hw/src/include/hw/spec/x86_64/register_macros.h b/repos/base-hw/src/include/hw/spec/x86_64/register_macros.h index 186b0d19a..15eec2296 100644 --- a/repos/base-hw/src/include/hw/spec/x86_64/register_macros.h +++ b/repos/base-hw/src/include/hw/spec/x86_64/register_macros.h @@ -43,7 +43,9 @@ return (high << 32) | (low & ~0U); \ } \ \ - static void write(access_t const) { } \ + static void write(access_t const value) { \ + asm volatile ("wrmsr" : : "a" (value), "d" (value >> 32), "c" (msr)); \ + } \ \ __VA_ARGS__; \ };