Re: [tip:x86/asm] x86/asm/msr: Make wrmsrl_safe() a function

From: H. Peter Anvin
Date: Fri Jun 05 2015 - 05:01:19 EST


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@xxxxxxxxx> wrote:
>Commit-ID: cf991de2f614f454b3cb2a300c06ecdf69f3a70d
>Gitweb:
>http://git.kernel.org/tip/cf991de2f614f454b3cb2a300c06ecdf69f3a70d
>Author: Andy Lutomirski <luto@xxxxxxxxxx>
>AuthorDate: Thu, 4 Jun 2015 17:13:44 -0700
>Committer: Ingo Molnar <mingo@xxxxxxxxxx>
>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@xxxxxxxxxx>
>Cc: <linux-kernel@xxxxxxxxxxxxxxx>
>Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
>Cc: H. Peter Anvin <hpa@xxxxxxxxx>
>Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
>Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
>Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
>[ Applied small improvements. ]
>Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
>---
> 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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/