Date: Fri, 4 Sep 2009 19:59:32 +0000 (UTC) From: John Baldwin <jhb@FreeBSD.org> To: cvs-src-old@freebsd.org 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 ... Message-ID: <200909042000.n84K08d0028073@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200909042000.n84K08d0028073>