On 15/08/2025 9:41 pm, Andrew Cooper wrote:
> diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
> index 530b9eb39abc..9c6b8c291d6e 100644
> --- a/xen/arch/x86/cpu/common.c
> +++ b/xen/arch/x86/cpu/common.c
> @@ -329,6 +329,7 @@ static inline u32 phys_pkg_id(u32 cpuid_apic, int 
> index_msb)
>  void __init early_cpu_init(bool verbose)
>  {
>       struct cpuinfo_x86 *c = &boot_cpu_data;
> +     uint64_t val;
>       u32 eax, ebx, ecx, edx;
>  
>       c->x86_cache_alignment = 32;
> @@ -412,10 +413,11 @@ void __init early_cpu_init(bool verbose)
>                           &c->x86_capability[FEATURESET_7c0],
>                           &c->x86_capability[FEATURESET_7d0]);
>  
> -             if (test_bit(X86_FEATURE_ARCH_CAPS, c->x86_capability))
> -                     rdmsr(MSR_ARCH_CAPABILITIES,
> -                           c->x86_capability[FEATURESET_m10Al],
> -                           c->x86_capability[FEATURESET_m10Ah]);
> +             if (test_bit(X86_FEATURE_ARCH_CAPS, c->x86_capability)) {
> +                     val = rdmsr(MSR_ARCH_CAPABILITIES);
> +                     c->x86_capability[FEATURESET_m10Al] = val;
> +                     c->x86_capability[FEATURESET_m10Al] = val >> 32;

This is a typo.  Fixed locally.

~Andrew

Reply via email to