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); _

