Date: Mon, 4 Mar 2013 19:15:37 -0600
   From: David Young <dyo...@pobox.com>

                                                          I thought that
   perhaps the device's cdevsw could provide an alternate to d_mmap,
   int (*d_get_pagerops)(dev_t, struct uvm_pagerops **) or something,
   for uvm_mmap to call.

This is more or less what FreeBSD did -- they added a d_mmap_single
operation to struct cdevsw,

   int (*d_mmap_single)(struct cdev *, vm_ooffset_t *, vm_size_t,
       struct vm_object **, int);

which returns a vm object rather than a set of pager ops for a vm
object.  This would obviously serve too, since it worked for FreeBSD's
drm purposes, and might be easier to implement.

Reply via email to