[openib-general] Re: [PATCH 11/16] IB uverbs: add mthca mmap support
Andrew Morton
akpm at osdl.org
Tue Jun 28 17:05:53 PDT 2005
Roland Dreier <rolandd at cisco.com> wrote:
>
> Add support for mmap() method to mthca, so that userspace can get
> access to doorbell registers. This allows userspace to get direct
> access to the HCA for data path operations.
>
> Each userspace context gets its own copy of the doorbell registers and
> is only allowed to use resources that the kernel has given it access
> to. In other words, this is safe.
>
> ...
>
> +static int mthca_mmap_uar(struct ib_ucontext *context,
> + struct vm_area_struct *vma)
> +{
> + if (vma->vm_end - vma->vm_start != PAGE_SIZE)
> + return -EINVAL;
> +
> + vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
> + vma->vm_flags |= VM_DONTCOPY;
> +
> + if (remap_pfn_range(vma, vma->vm_start,
> + to_mucontext(context)->uar.pfn,
> + PAGE_SIZE, vma->vm_page_prot))
> + return -EAGAIN;
> +
> + return 0;
> +}
What's the thinking behind the VM_DONTCOPY there?
What's actually being mapped here? Hardware? If so, is VM_IO not needed?
More information about the general
mailing list