blob: b98125bfac08f9624fa096d901d7d72987679c26 [file] [log] [blame]
#pragma once
#include <stddef.h>
#define read_msr(name) \
__extension__({ \
size_t __v; \
__asm volatile("mrs %0, " #name : "=r"(__v)); \
__v; \
})
#define write_msr(name, value) \
do { \
__asm volatile("msr " #name ", %x0" \
: \
: "rZ"((size_t)(value))); \
} while (0)