Re: [PATCH 06/20] x86/msr: Standardize on 'u32' MSR indices in <asm/msr.h>

From: H. Peter Anvin
Date: Thu Apr 10 2025 - 02:20:58 EST


On 4/9/25 20:53, Xin Li wrote:
On 4/9/2025 8:29 PM, H. Peter Anvin wrote:
On April 9, 2025 8:18:12 PM PDT, Xin Li <xin@xxxxxxxxx> wrote:
A question NOT related to this patch set, the MSR write API prototype
defined in struct pv_cpu_ops as:
    void (*write_msr)(unsigned int msr, unsigned low, unsigned high);

Will it be better to add "const" to its arguments?  I.e.,
    void (*write_msr)(const u32 msr, const u32 low, const u32 high);


No, that makes no sense (it would have absolutely no effect.)


For the API definition, yes, it has no effect.

While it makes the API definition more explicit, and its implementations
for native and Xen would be:

void {native,xen}_write_msr(const u32 msr, const u32 low, const u32 high)
{
    ....
}

not worth it at all?


No, and as you know, I'd like to get rid of the native_ and xen_ functions entirely anyway.

-hpa