From: Dave Hansen <[email protected]>

Use the new "raw_" indirection and consolidate the two rdmsrq()
implementations down to one.

The paravirt implementation was probably better, but just stick
with the native one here for consistency.

Signed-off-by: Dave Hansen <[email protected]>
---

 b/arch/x86/include/asm/msr.h      |    6 +++---
 b/arch/x86/include/asm/paravirt.h |    5 -----
 2 files changed, 3 insertions(+), 8 deletions(-)

diff -puN arch/x86/include/asm/msr.h~rdmsr-dups-5 arch/x86/include/asm/msr.h
--- a/arch/x86/include/asm/msr.h~rdmsr-dups-5   2026-03-20 11:24:19.885830584 
-0700
+++ b/arch/x86/include/asm/msr.h        2026-03-20 11:24:19.892830895 -0700
@@ -194,9 +194,6 @@ static inline void wrmsr(u32 msr, u32 lo
        raw_write_msr(msr, (u64)high << 32 | low);
 }
 
-#define rdmsrq(msr, val)                       \
-       ((val) = raw_read_msr((msr)))
-
 static inline void wrmsrq(u32 msr, u64 val)
 {
        raw_write_msr(msr, val);
@@ -240,6 +237,9 @@ do {                                                        
        \
        __err;                                                  \
 })
 
+#define rdmsrq(msr, val)                       \
+       ((val) = raw_read_msr((msr)))
+
 /* Instruction opcode for WRMSRNS supported in binutils >= 2.40 */
 #define ASM_WRMSRNS _ASM_BYTES(0x0f,0x01,0xc6)
 
diff -puN arch/x86/include/asm/paravirt.h~rdmsr-dups-5 
arch/x86/include/asm/paravirt.h
--- a/arch/x86/include/asm/paravirt.h~rdmsr-dups-5      2026-03-20 
11:24:19.888830717 -0700
+++ b/arch/x86/include/asm/paravirt.h   2026-03-20 11:24:19.891830851 -0700
@@ -166,11 +166,6 @@ static __always_inline void wrmsr(u32 ms
        paravirt_write_msr(msr, (u64)high << 32 | low);
 }
 
-#define rdmsrq(msr, val)                       \
-do {                                           \
-       val = paravirt_read_msr(msr);           \
-} while (0)
-
 static inline void wrmsrq(u32 msr, u64 val)
 {
        paravirt_write_msr(msr, val);
_

Reply via email to