]> xenbits.xensource.com Git - people/iwj/xen.git/commitdiff
x86/hvm: Fix the use of "hap=0" following c/s c0902a9a143a
authorAndrew Cooper <andrew.cooper3@citrix.com>
Wed, 9 Oct 2019 18:21:14 +0000 (19:21 +0100)
committerWei Liu <wl@xen.org>
Thu, 10 Oct 2019 09:17:21 +0000 (10:17 +0100)
c/s c0902a9a143a refactored hvm_enable() a little, but dropped the logic which
cleared hap_supported in the case that the user had asked for it off.

This results in Xen booting up, claiming:

  (XEN) HVM: Hardware Assisted Paging (HAP) detected but disabled

but with HAP advertised via sysctl, and XEN_DOMCTL_CDF_hap being accepted in
domain_create().

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Paul Durrant <paul@xen.org>
Acked-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Wei Liu <wl@xen.org>
Release-acked-by: Juergen Gross <jgross@suse.com>
xen/arch/x86/hvm/hvm.c

index c22cb39cf392ebf8e69d1e6af9737d3bb52d3f1d..9acd359c99eaa2aca12d42224e7f5d378b7da9a4 100644 (file)
@@ -142,7 +142,7 @@ static struct notifier_block cpu_nfb = {
     .notifier_call = cpu_callback
 };
 
-static bool __init hap_supported(const struct hvm_function_table *fns)
+static bool __init hap_supported(struct hvm_function_table *fns)
 {
     if ( !fns->hap_supported )
     {
@@ -152,6 +152,7 @@ static bool __init hap_supported(const struct hvm_function_table *fns)
 
     if ( !opt_hap_enabled )
     {
+        fns->hap_supported = 0;
         printk("HVM: Hardware Assisted Paging (HAP) detected but disabled\n");
         return false;
     }
@@ -175,7 +176,7 @@ static int __init hvm_enable(void)
     hvm_enabled = 1;
 
     printk("HVM: %s enabled\n", fns->name);
-    if ( !hap_supported(fns) )
+    if ( !hap_supported(&hvm_funcs) )
         clear_iommu_hap_pt_share();
     else
     {