diff --git a/arch/x86/include/asm/msr.h b/arch/x86/include/asm/msr.h
new file mode 100644
index 0000000..0a681d1
--- /dev/null
+++ b/arch/x86/include/asm/msr.h
@@ -0,0 +1,25 @@
+#ifndef CPU_X86_ASM_MSR_H
+#define CPU_X86_ASM_MSR_H
+
+static inline uint64_t rdmsr(unsigned index)
+{
+	uint64_t result;
+
+	asm volatile (
+		"rdmsr"
+		: "=A" (result)
+		: "c" (index)
+		);
+	return result;
+}
+
+static inline void wrmsr(unsigned index, uint64_t msr)
+{
+	asm volatile (
+		"wrmsr"
+		: /* No outputs */
+		: "c" (index), "A" (msr)
+		);
+}
+
+#endif /* CPU_X86_ASM_MSR_H */
