From: Stefan Reinauer <reina...@chromium.org>

Provide basic functions to access these registers.

Signed-off-by: Stefan Reinauer <reina...@chromium.org>
Signed-off-by: Simon Glass <s...@chromium.org>
---
 arch/x86/include/asm/msr.h |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)
 create mode 100644 arch/x86/include/asm/msr.h

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 */
-- 
1.7.7.3

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to