On 18.08.2025 13:34, Andrew Cooper wrote: > 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.
Both of them, I expect. Jan