From owner-cvs-src-old@FreeBSD.ORG Mon Jun 1 21:33:20 2009 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3D475106566C for ; Mon, 1 Jun 2009 21:33:20 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EA5398FC12 for ; Mon, 1 Jun 2009 21:33:19 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n51LXJkt066500 for ; Mon, 1 Jun 2009 21:33:19 GMT (envelope-from jhb@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n51LXJ0g066499 for cvs-src-old@freebsd.org; Mon, 1 Jun 2009 21:33:19 GMT (envelope-from jhb@repoman.freebsd.org) Message-Id: <200906012133.n51LXJ0g066499@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to jhb@repoman.freebsd.org using -f From: John Baldwin Date: Mon, 1 Jun 2009 21:32:52 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/kern kern_conf.c src/sys/sys conf.h src/sys/vm vm_mmap.c X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Jun 2009 21:33:20 -0000 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