[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v9 3/6] sysctl / libxl: report whether IOMMU/HAP page table sharing is supported
On 12.09.2019 15:18, Paul Durrant wrote: >> -----Original Message----- >> From: Jan Beulich <jbeulich@xxxxxxxx> >> Sent: 12 September 2019 14:04 >> To: Paul Durrant <Paul.Durrant@xxxxxxxxxx> >> Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx; Julien Grall <julien.grall@xxxxxxx>; >> Andrew Cooper >> <Andrew.Cooper3@xxxxxxxxxx>; Anthony Perard <anthony.perard@xxxxxxxxxx>; >> Christian Lindig >> <christian.lindig@xxxxxxxxxx>; George Dunlap <George.Dunlap@xxxxxxxxxx>; Ian >> Jackson >> <Ian.Jackson@xxxxxxxxxx>; Stefano Stabellini <sstabellini@xxxxxxxxxx>; >> Konrad Rzeszutek Wilk >> <konrad.wilk@xxxxxxxxxx>; DavidScott <dave@xxxxxxxxxx>; Tim (Xen.org) >> <tim@xxxxxxx>; Wei Liu >> <wl@xxxxxxx> >> Subject: Re: [PATCH v9 3/6] sysctl / libxl: report whether IOMMU/HAP page >> table sharing is supported >> >> On 12.09.2019 13:17, Paul Durrant wrote: >>> --- a/xen/arch/arm/sysctl.c >>> +++ b/xen/arch/arm/sysctl.c >>> @@ -15,6 +15,9 @@ >>> void arch_do_physinfo(struct xen_sysctl_physinfo *pi) >>> { >>> pi->capabilities |= XEN_SYSCTL_PHYSCAP_hvm | XEN_SYSCTL_PHYSCAP_hap; >>> + >>> + if ( iommu_enabled && iommu_hap_pt_share ) >>> + pi->capabilities |= XEN_SYSCTL_PHYSCAP_iommu_hap_pt_share; >>> } >> >> I think this should be done in common code. >> >>> --- a/xen/arch/x86/sysctl.c >>> +++ b/xen/arch/x86/sysctl.c >>> @@ -164,7 +164,12 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi) >>> if ( IS_ENABLED(CONFIG_PV) ) >>> pi->capabilities |= XEN_SYSCTL_PHYSCAP_pv; >>> if ( hvm_hap_supported() ) >>> + { >>> pi->capabilities |= XEN_SYSCTL_PHYSCAP_hap; >>> + >>> + if ( iommu_enabled && iommu_hap_pt_share ) >>> + pi->capabilities |= XEN_SYSCTL_PHYSCAP_iommu_hap_pt_share; >>> + } >>> } >> >> And if it's important to not have the bit set when !hvm_hap_supported(), > > ...and that's what it’s not in common code... there is no hvm_hap_supported() > for Arm > >> then iommu_hap_pt_share should be cleared in __init code in this case. > > That would have been an alternative approach if you'd not wanted > it #defined in patch #5. (Yes it's a later patch in the series, > but this one is later chronologically and I didn't want to > invalidate the other patch.) > I could perhaps implement hvm_hap_supported() for Arm? Well, implementing it for Arm is an option (at which point XEN_SYSCTL_PHYSCAP_hap could also move to common code). But personally I'd advise against providing more stubs than necessary on Arm. I may not understand your remark regarding patch 5: There's no problem with iommu_hap_pt_share now being a #define on Arm - whether the system is HVM capable is an x86 specific decision anyway, and hence the clearing of the flag could occur e.g. in hvm_enable() when it bails early. And btw., with !CONFIG_HVM it could be a #define on x86 as well, just to "false" then. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |