On Thu, Jun 27, 2019 at 01:28:04PM +0100, Burakov, Anatoly wrote:
> On 27-Jun-19 11:40 AM, Bruce Richardson wrote:
> > Add the create/destroy driver functions so that we can actually allocate
> > a rawdev and destroy it when done. No rawdev API functions are actually
> > implemented at this point.
> >
> > Signed-off-by: Bruce Richardson <bruce.richard...@intel.com>
> > ---
>
> <snip>
>
> > + rawdev->driver_name = dev->device.driver->name;
> > +
> > + ioat = rawdev->dev_private;
> > + ioat->rawdev = rawdev;
> > + ioat->regs = dev->mem_resource[0].addr;
> > + ioat->ring_size = 0;
> > + ioat->desc_ring = NULL;
> > + ioat->status_addr = rte_malloc_virt2iova(ioat) +
> > + offsetof(struct rte_ioat_rawdev, status);
>
> While reviewing other patch, i remembered that i've seen this here. You
> can't make any guarantees about IOVA addresses in rte_malloc-allocated
> memory. Are you sure you don't require IOVA-contiguous memory here?
>
Presumably we can guarantee that for structures less than 1 page in size,
this will work? I believe the device structure should be within that page
limit.