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>
index | next in thread | raw e-mail
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
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200909042000.n84K08d0028073>
