From patchwork Wed Oct 24 04:04:38 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [U-Boot,07/15] x86: Add functions to access MSRs From: Simon Glass X-Patchwork-Id: 193660 Message-Id: <1351051486-6980-8-git-send-email-sjg@chromium.org> To: U-Boot Mailing List Cc: Stefan Reinauer Date: Tue, 23 Oct 2012 21:04:38 -0700 From: Stefan Reinauer Provide basic functions to access these registers. Signed-off-by: Stefan Reinauer Signed-off-by: Simon Glass --- 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 */