On 19/08/2025 11:42 am, Jan Beulich wrote:
> On 15.08.2025 22:41, Andrew Cooper wrote:
>> Now that content has been split out, minimise the header files as msr.h is
>> included by many translation units.  A few more TUs were pulling dependencies
>> in transitively, so fix them up.
>>
>> Give asm/time.h an SPDX tag, and strip trailing whitespace.
>>
>> No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com>
> Acked-by: Jan Beulich <jbeul...@suse.com>

Thanks.

>
> I think though that ...
>
>> --- a/xen/arch/x86/include/asm/msr.h
>> +++ b/xen/arch/x86/include/asm/msr.h
>> @@ -1,18 +1,13 @@
>> -#ifndef __ASM_MSR_H
>> -#define __ASM_MSR_H
>> +/* SPDX-License-Identifier: GPL-2.0-only */
>> +#ifndef X86_MSR_H
>> +#define X86_MSR_H
>>  
>> -#include "msr-index.h"
>> -
>> -#include <xen/types.h>
>>  #include <xen/percpu.h>
>>  #include <xen/errno.h>
>> -#include <xen/kernel.h>
>> -
>> -#include <xen/lib/x86/cpu-policy.h>
>>  
>> +#include <asm/alternative.h>
>>  #include <asm/asm_defns.h>
>> -#include <asm/cpufeature.h>
>> -#include <asm/processor.h>
>> +#include <asm/msr-index.h>
>>  
>>  #define rdmsr(msr,val1,val2) \
>>       __asm__ __volatile__("rdmsr" \
>> @@ -113,11 +108,6 @@ static inline int wrmsr_safe(unsigned int msr, uint64_t 
>> val)
>>      return -EFAULT;
>>  }
>>  
>> -#define rdpmc(counter,low,high) \
>> -     __asm__ __volatile__("rdpmc" \
>> -                      : "=a" (low), "=d" (high) \
>> -                      : "c" (counter))
>> -
> ... this removal wants mentioning in the description. I'm actually surprised 
> this
> is unused - how does vPMU get away?

Kernel software can't really use RDPMC.  Everything else about perf
counters needs model specific knowledge, and given that model specific
knowledge, transforming the indices into another address space is just a
waste.

~Andrew

Reply via email to