Message ID | 20191009182114.9376-1-andrew.cooper3@citrix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | x86/hvm: Fix the use of "hap=0" following c/s c0902a9a143a | expand |
On Wed, 9 Oct 2019 at 19:21, Andrew Cooper <andrew.cooper3@citrix.com> wrote: > > 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> That should have been largely code movement, so I don't know how I managed to drop that. Reviewed-by: Paul Durrant <paul@xen.org> > --- > CC: Jan Beulich <JBeulich@suse.com> > CC: Wei Liu <wl@xen.org> > CC: Roger Pau Monné <roger.pau@citrix.com> > CC: Paul Durrant <paul@xen.org> > CC: Juergen Gross <jgross@suse.com> > > This is a regression from 4.12, so should be fixed before 4.13 ships. > --- > xen/arch/x86/hvm/hvm.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c > index c22cb39cf3..9acd359c99 100644 > --- a/xen/arch/x86/hvm/hvm.c > +++ b/xen/arch/x86/hvm/hvm.c > @@ -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 > { > -- > 2.11.0 >
On Wed, 9 Oct 2019 at 19:21, Andrew Cooper <andrew.cooper3@citrix.com> wrote: > > 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: Wei Liu <wl@xen.org>
On 09.10.19 20:21, Andrew Cooper wrote: > 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> Release-acked-by: Juergen Gross <jgross@suse.com> Juergen
On 09.10.2019 20:56, Paul Durrant wrote: > On Wed, 9 Oct 2019 at 19:21, Andrew Cooper <andrew.cooper3@citrix.com> wrote: >> >> 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> > > That should have been largely code movement, so I don't know how I > managed to drop that. > > Reviewed-by: Paul Durrant <paul@xen.org> Acked-by: Jan Beulich <jbeulich@suse.com>
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c index c22cb39cf3..9acd359c99 100644 --- a/xen/arch/x86/hvm/hvm.c +++ b/xen/arch/x86/hvm/hvm.c @@ -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 {
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> --- CC: Jan Beulich <JBeulich@suse.com> CC: Wei Liu <wl@xen.org> CC: Roger Pau Monné <roger.pau@citrix.com> CC: Paul Durrant <paul@xen.org> CC: Juergen Gross <jgross@suse.com> This is a regression from 4.12, so should be fixed before 4.13 ships. --- xen/arch/x86/hvm/hvm.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)