]> xenbits.xensource.com Git - people/dwmw2/xen.git/commitdiff
x86/hvm: always expose x2APIC feature in max HVM cpuid policy
authorRoger Pau Monne <roger.pau@citrix.com>
Tue, 24 Dec 2019 10:18:10 +0000 (11:18 +0100)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Thu, 16 Jan 2020 16:00:24 +0000 (16:00 +0000)
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é <roger.pau@citrix.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
xen/arch/x86/cpuid.c

index 7055509ed604f853807c5328cf15ee6ea3fba9ab..b1ed33d524c4802bcb534abf48e0546a13e397a3 100644 (file)
@@ -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