Messages in this thread | | | Subject | Re: [PATCH 1/4] vdpa: introduce config op to get valid iova range | From | Jason Wang <> | Date | Fri, 7 Aug 2020 11:23:10 +0800 |
| |
On 2020/8/6 下午8:29, Michael S. Tsirkin wrote: > On Thu, Aug 06, 2020 at 03:03:55PM +0300, Eli Cohen wrote: >> On Wed, Aug 05, 2020 at 08:51:56AM -0400, Michael S. Tsirkin wrote: >>> On Wed, Jun 17, 2020 at 11:29:44AM +0800, Jason Wang wrote: >>>> This patch introduce a config op to get valid iova range from the vDPA >>>> device. >>>> >>>> Signed-off-by: Jason Wang<jasowang@redhat.com> >>>> --- >>>> include/linux/vdpa.h | 14 ++++++++++++++ >>>> 1 file changed, 14 insertions(+) >>>> >>>> diff --git a/include/linux/vdpa.h b/include/linux/vdpa.h >>>> index 239db794357c..b7633ed2500c 100644 >>>> --- a/include/linux/vdpa.h >>>> +++ b/include/linux/vdpa.h >>>> @@ -41,6 +41,16 @@ struct vdpa_device { >>>> unsigned int index; >>>> }; >>>> >>>> +/** >>>> + * vDPA IOVA range - the IOVA range support by the device >>>> + * @start: start of the IOVA range >>>> + * @end: end of the IOVA range >>>> + */ >>>> +struct vdpa_iova_range { >>>> + u64 start; >>>> + u64 end; >>>> +}; >>>> + >>> This is ambiguous. Is end in the range or just behind it? >>> How about first/last? >> It is customary in the kernel to use start-end where end corresponds to >> the byte following the last in the range. See struct vm_area_struct >> vm_start and vm_end fields > Exactly my point: > > include/linux/mm_types.h: unsigned long vm_end; /* The first byte after our end address > > in this case Jason wants it to be the last byte, not one behind.
Ok, I somehow recall the reason :)
See:
struct iommu_domain_geometry { dma_addr_t aperture_start; /* First address that can be mapped */ dma_addr_t aperture_end; /* Last address that can be mapped */ bool force_aperture; /* DMA only allowed in mappable range? */ };
So what I proposed here is to be consistent with it.
Thanks
> >
| |