From: Roger Pau Monne Date: Tue, 24 Dec 2019 10:18:10 +0000 (+0100) Subject: x86/hvm: always expose x2APIC feature in max HVM cpuid policy X-Git-Tag: archive/raspbian/4.14.0+80-gd101b417b7-1+rpi1^2~63^2~884 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=1b4c0be707c524a28f020c584f541c667e6dc78f;p=xen.git x86/hvm: always expose x2APIC feature in max HVM cpuid policy On hardware without x2APIC support Xen emulated local APIC will provide such mode, and hence the feature should be set in the maximum HVM cpuid policy. Not exposing it in the maximum policy results in HVM domains not getting such feature exposed unless it's also supported by the underlying hardware. This was regressed by c/s 3e0c8272f20 which caused x2APIC not to be enabled unilaterally for HVM guests. Signed-off-by: Roger Pau Monné Reviewed-by: Andrew Cooper --- diff --git a/xen/arch/x86/cpuid.c b/xen/arch/x86/cpuid.c index 7055509ed6..b1ed33d524 100644 --- a/xen/arch/x86/cpuid.c +++ b/xen/arch/x86/cpuid.c @@ -396,10 +396,11 @@ static void __init calculate_hvm_max_policy(void) hvm_featureset[i] &= hvm_featuremask[i]; /* - * Xen can provide an APIC emulation to HVM guests even if the host's APIC - * isn't enabled. + * Xen can provide an (x2)APIC emulation to HVM guests even if the host's + * (x2)APIC isn't enabled. */ __set_bit(X86_FEATURE_APIC, hvm_featureset); + __set_bit(X86_FEATURE_X2APIC, hvm_featureset); /* * On AMD, PV guests are entirely unable to use SYSENTER as Xen runs in