[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 04/13] iommu: push use of type-safe BFN and MFN into iommu_ops
On Sat, Jul 7, 2018 at 12:05 PM, Paul Durrant <paul.durrant@xxxxxxxxxx> wrote: > @@ -787,7 +793,9 @@ int amd_iommu_reserve_domain_unity_map(struct domain > *domain, > gfn = phys_addr >> PAGE_SHIFT; > for ( i = 0; i < npages; i++ ) > { > - rt = amd_iommu_map_page(domain, gfn +i, gfn +i, flags); > + unsigned long frame = gfn + i; > + > + rt = amd_iommu_map_page(domain, _bfn(frame), _mfn(frame), flags); Here's an example where the intermediate variable may actually improve things, if only by avoiding code duplication. :-) > @@ -2766,14 +2766,14 @@ static int __must_check arm_smmu_map_page(struct > domain *d, unsigned long bfn, > * The function guest_physmap_add_entry replaces the current mapping > * if there is already one... > */ > - return guest_physmap_add_entry(d, _gfn(gfn), _mfn(mfn), 0, t); > + return guest_physmap_add_entry(d, gfn, mfn, 0, t); > } > > -static int __must_check arm_smmu_unmap_page(struct domain *d, unsigned long > bfn) > +static int __must_check arm_smmu_unmap_page(struct domain *d, bfn_t bfn) > { > - unsigned long frame = bfn; > - unsigned long gfn = frame; > - unsigned long mfn = frame; > + unsigned long frame = bfn_x(bfn); > + gfn_t gfn = _gfn(frame); > + mfn_t mfn = _mfn(frame); Even if we decide to use an intermediate variable in many other cases, this construct in particular seems excessive. Everything else looks good, thanks. -George _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |