lkml.org 
[lkml]   [2015]   [Jun]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [tip:x86/asm] x86/asm/msr: Make wrmsrl_safe() a function
From
Date
Shouldn't we make it a proper function sine there is going to have to be a function call involved anyway?

On June 5, 2015 1:42:56 AM PDT, tip-bot for Andy Lutomirski <tipbot@zytor.com> wrote:
>Commit-ID: cf991de2f614f454b3cb2a300c06ecdf69f3a70d
>Gitweb:
>http://git.kernel.org/tip/cf991de2f614f454b3cb2a300c06ecdf69f3a70d
>Author: Andy Lutomirski <luto@kernel.org>
>AuthorDate: Thu, 4 Jun 2015 17:13:44 -0700
>Committer: Ingo Molnar <mingo@kernel.org>
>CommitDate: Fri, 5 Jun 2015 09:41:22 +0200
>
>x86/asm/msr: Make wrmsrl_safe() a function
>
>The wrmsrl_safe macro performs invalid shifts if the value
>argument is 32 bits. This makes it unnecessarily awkward to
>write code that puts an unsigned long into an MSR.
>
>Convert it to a real inline function.
>
>For inspiration, see:
>
> 7c74d5b7b7b6 ("x86/asm/entry/64: Fix MSR_IA32_SYSENTER_CS MSR value").
>
>Signed-off-by: Andy Lutomirski <luto@kernel.org>
>Cc: <linux-kernel@vger.kernel.org>
>Cc: Andrew Morton <akpm@linux-foundation.org>
>Cc: H. Peter Anvin <hpa@zytor.com>
>Cc: Linus Torvalds <torvalds@linux-foundation.org>
>Cc: Peter Zijlstra <peterz@infradead.org>
>Cc: Thomas Gleixner <tglx@linutronix.de>
>[ Applied small improvements. ]
>Signed-off-by: Ingo Molnar <mingo@kernel.org>
>---
> arch/x86/include/asm/msr.h | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
>diff --git a/arch/x86/include/asm/msr.h b/arch/x86/include/asm/msr.h
>index de36f22..13bf576 100644
>--- a/arch/x86/include/asm/msr.h
>+++ b/arch/x86/include/asm/msr.h
>@@ -205,8 +205,13 @@ do {
> \
>
> #endif /* !CONFIG_PARAVIRT */
>
>-#define wrmsrl_safe(msr, val) wrmsr_safe((msr), (u32)(val), \
>- (u32)((val) >> 32))
>+/*
>+ * 64-bit version of wrmsr_safe():
>+ */
>+static inline int wrmsrl_safe(u32 msr, u64 val)
>+{
>+ return wrmsr_safe(msr, (u32)val, (u32)(val >> 32));
>+}
>
> #define write_tsc(low, high) wrmsr(MSR_IA32_TSC, (low), (high))
>

--
Sent from my mobile phone. Please pardon brevity and lack of formatting.


\
 
 \ /
  Last update: 2015-06-05 11:21    [W:0.062 / U:0.144 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site