From owner-cvs-src-old@FreeBSD.ORG Fri Sep 4 20:00:08 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 C82421065676 for ; Fri, 4 Sep 2009 20:00:08 +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 B1DD18FC14 for ; Fri, 4 Sep 2009 20:00:08 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n84K087W028074 for ; Fri, 4 Sep 2009 20:00:08 GMT (envelope-from jhb@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n84K08d0028073 for cvs-src-old@freebsd.org; Fri, 4 Sep 2009 20:00:08 GMT (envelope-from jhb@repoman.freebsd.org) Message-Id: <200909042000.n84K08d0028073@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to jhb@repoman.freebsd.org using -f From: John Baldwin Date: Fri, 4 Sep 2009 19:59:32 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: RELENG_7 Subject: cvs commit: src/sys/amd64/amd64 pmap.c src/sys/amd64/include pmap.h vm.h src/sys/arm/include pmap.h vm.h src/sys/dev/iir iir.c iir_ctrl.c src/sys/i386/i386 pmap.c src/sys/i386/include pmap.h vm.h src/sys/ia64/include pmap.h vm.h src/sys/kern kern_mbuf.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: Fri, 04 Sep 2009 20:00:08 -0000 jhb 2009-09-04 19:59:32 UTC FreeBSD src repository Modified files: (Branch: RELENG_7) sys/amd64/amd64 pmap.c sys/amd64/include pmap.h sys/arm/include pmap.h sys/dev/iir iir.c iir_ctrl.c sys/i386/i386 pmap.c sys/i386/include pmap.h sys/ia64/include pmap.h sys/kern kern_mbuf.c sys/powerpc/include pmap.h sys/sparc64/include pmap.h sys/sun4v/include pmap.h sys/sun4v/sun4v pmap.c sys/vm device_pager.c pmap.h vm.h vm_contig.c vm_extern.h vm_object.c vm_object.h vm_page.c vm_phys.c Added files: (Branch: RELENG_7) sys/amd64/include vm.h sys/arm/include vm.h sys/i386/include vm.h sys/ia64/include vm.h sys/powerpc/include vm.h sys/sparc64/include vm.h sys/sun4v/include vm.h Log: SVN rev 196838 on 2009-09-04 19:59:32Z by jhb MFC 193396, 193521, 194331, 194337, 194376, 194454, 194562, 194642, 195033, 195385, 195649, 195660, 195749, and 195774: Add support to the virtual memory system for configuring machine- dependent memory attributes: - Refactor contigmalloc() into two functions: a simple front-end that deals with the malloc tag and calls a new back-end, kmem_alloc_contig(), that allocates the pages and maps them. - Use kmem_alloc_contig() to implement the UMA back-end allocator for jumbo frame zones. - Use kmem_alloc_contig() to allocate the top-level page tables for PAE. - Introduce vm_memattr_t to as a type to hold memory attributes. - Introduce vm_object_set_memattr() for setting the default memory attributes that will be given to an object's pages. - Introduce and use pmap_page_{get,set}_memattr() for getting and setting a page's machine-dependent memory attributes. Add full support for these functions on amd64 and i386 and stubs for them on the other architectures. The function pmap_page_set_memattr() is also responsible for any other machine-dependent aspects of changing a page's memory attributes, such as flushing the cache or updating the direct map. The uses include kmem_alloc_contig(), vm_page_alloc(), and the device pager: kmem_alloc_contig() can now be used to allocate kernel memory with non-default memory attributes on amd64 and i386. vm_page_alloc() and the device pager will set the memory attributes for the real or fictitious page according to the object's default memory attributes. - Update the various pmap functions on amd64 and i386 that map pages to incorporate each page's memory attributes in the mapping. Reviewed by: alc Revision Changes Path 1.590.2.23 +40 -23 src/sys/amd64/amd64/pmap.c 1.138.2.8 +3 -1 src/sys/amd64/include/pmap.h 1.3.4.2 +45 -0 src/sys/amd64/include/vm.h (new) 1.27.2.1 +3 -0 src/sys/arm/include/pmap.h 1.3.4.2 +35 -0 src/sys/arm/include/vm.h (new) 1.19.2.2 +0 -3 src/sys/dev/iir/iir.c 1.17.10.1 +0 -4 src/sys/dev/iir/iir_ctrl.c 1.594.2.20 +56 -21 src/sys/i386/i386/pmap.c 1.128.2.7 +3 -1 src/sys/i386/include/pmap.h 1.3.4.2 +45 -0 src/sys/i386/include/vm.h (new) 1.28.2.1 +2 -0 src/sys/ia64/include/pmap.h 1.3.4.2 +44 -0 src/sys/ia64/include/vm.h (new) 1.32.2.6 +4 -17 src/sys/kern/kern_mbuf.c 1.20.2.1 +2 -0 src/sys/powerpc/include/pmap.h 1.3.4.2 +42 -0 src/sys/powerpc/include/vm.h (new) 1.47.2.1 +3 -0 src/sys/sparc64/include/pmap.h 1.3.4.2 +35 -0 src/sys/sparc64/include/vm.h (new) 1.8.2.1 +2 -0 src/sys/sun4v/include/pmap.h 1.3.4.2 +35 -0 src/sys/sun4v/include/vm.h (new) 1.39.2.4 +1 -1 src/sys/sun4v/sun4v/pmap.c 1.84.2.3 +40 -31 src/sys/vm/device_pager.c 1.79.2.3 +7 -1 src/sys/vm/pmap.h 1.27.2.2 +8 -0 src/sys/vm/vm.h 1.63.2.2 +36 -25 src/sys/vm/vm_contig.c 1.78.2.3 +3 -0 src/sys/vm/vm_extern.h 1.385.2.7 +31 -0 src/sys/vm/vm_object.c 1.114.2.4 +2 -0 src/sys/vm/vm_object.h 1.357.2.10 +33 -11 src/sys/vm/vm_page.c 1.4.2.2 +17 -7 src/sys/vm/vm_phys.c