blob: 30916db9368d7687a1012b08f038a74b02c5d036 [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 */