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