blob: 277ccea16a3e0d42e30959bb7e76e8537659d642 [file] [log] [blame]
#ifndef _MSR_H
#define _MSR_H
#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)
#endif /* _MSR_H */