Skip to content

Commit e657fcc

Browse files
committed
x86/xen: use capabilities instead of fake cpuid values for x2apic
When running as pv domain xen_cpuid() is being used instead of native_cpuid(). In xen_cpuid() the x2apic feature is indicated as not being present by special casing the related cpuid leaf. Instead of delivering fake cpuid values clear the cpu capability bit for x2apic instead. Signed-off-by: Juergen Gross <jgross@suse.com> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com> Signed-off-by: Juergen Gross <jgross@suse.com>
1 parent ea01598 commit e657fcc

File tree

1 file changed

+1
-2
lines changed

1 file changed

+1
-2
lines changed

arch/x86/xen/enlighten_pv.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -286,8 +286,6 @@ static void __init xen_init_cpuid_mask(void)
286286
unsigned int ax, bx, cx, dx;
287287
unsigned int xsave_mask;
288288

289-
cpuid_leaf1_ecx_mask &= ~(1 << (X86_FEATURE_X2APIC % 32));
290-
291289
ax = 1;
292290
cx = 0;
293291
cpuid(1, &ax, &bx, &cx, &dx);
@@ -309,6 +307,7 @@ static void __init xen_init_capabilities(void)
309307
setup_clear_cpu_cap(X86_FEATURE_APERFMPERF);
310308
setup_clear_cpu_cap(X86_FEATURE_MTRR);
311309
setup_clear_cpu_cap(X86_FEATURE_ACC);
310+
setup_clear_cpu_cap(X86_FEATURE_X2APIC);
312311

313312
if (!xen_initial_domain())
314313
setup_clear_cpu_cap(X86_FEATURE_ACPI);

0 commit comments

Comments
 (0)