Date: Mon, 1 Jun 2009 21:32:52 +0000 (UTC) From: John Baldwin <jhb@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/kern kern_conf.c src/sys/sys conf.h src/sys/vm vm_mmap.c Message-ID: <200906012133.n51LXJ0g066499@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
jhb 2009-06-01 21:32:52 UTC FreeBSD src repository Modified files: sys/kern kern_conf.c sys/sys conf.h sys/vm vm_mmap.c Log: SVN rev 193275 on 2009-06-01 21:32:52Z by jhb Add an extension to the character device interface that allows character device drivers to use arbitrary VM objects to satisfy individual mmap() requests. - A new d_mmap_single(cdev, &foff, objsize, &object, prot) callback is added to cdevsw. This function is called for each mmap() request. If it returns ENODEV, then the mmap() request will fall back to using the device's device pager object and d_mmap(). Otherwise, the method can return a VM object to satisfy this entire mmap() request via *object. It can also modify the starting offset into this object via *foff. This allows device drivers to use the file offset as a cookie to identify specific VM objects. - vm_mmap_vnode() has been changed to call vm_mmap_cdev() directly when mapping V_CHR vnodes. This avoids duplicating all the cdev mmap handling code and simplifies some of vm_mmap_vnode(). - D_VERSION has been bumped to D_VERSION_02. Older device drivers using D_VERSION_01 are still supported. MFC after: 1 month Revision Changes Path 1.231 +27 -2 src/sys/kern/kern_conf.c 1.250 +6 -2 src/sys/sys/conf.h 1.230 +47 -58 src/sys/vm/vm_mmap.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906012133.n51LXJ0g066499>