CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2010/06/26 21:03:49
Modified files:
sys/arch/alpha/alpha: machdep.c
sys/arch/amd64/amd64: machdep.c
sys/arch/arm/arm: arm32_machdep.c
sys/arch/armish/armish: armish_machdep.c
sys/arch/aviion/aviion: machdep.c
sys/arch/beagle/beagle: beagle_machdep.c
sys/arch/gumstix/gumstix: gumstix_machdep.c
sys/arch/hp300/hp300: machdep.c
sys/arch/hppa/hppa: machdep.c
sys/arch/i386/i386: machdep.c
sys/arch/landisk/landisk: machdep.c
sys/arch/loongson/loongson: machdep.c
sys/arch/luna88k/luna88k: machdep.c
sys/arch/mac68k/mac68k: machdep.c
sys/arch/macppc/macppc: machdep.c
sys/arch/mvme68k/mvme68k: machdep.c
sys/arch/mvme88k/mvme88k: machdep.c
sys/arch/palm/palm: palm_machdep.c
sys/arch/sgi/sgi: machdep.c
sys/arch/socppc/socppc: machdep.c
sys/arch/sparc/include: vmparam.h
sys/arch/sparc/sparc: machdep.c
sys/arch/sparc64/include: vmparam.h
sys/arch/sparc64/sparc64: machdep.c
sys/arch/zaurus/zaurus: zaurus_machdep.c
sys/kern : subr_pool.c uipc_mbuf.c
sys/sys : pool.h
sys/uvm : uvm.h uvm_extern.h uvm_km.c uvm_page.c
uvm_page.h uvm_pglist.c uvm_pmemrange.c
Log message:
uvm constraints. Add two mandatory MD symbols, uvm_md_constraints
which contains the constraints for DMA/memory allocation for each
architecture, and dma_constraints which contains the range of addresses
that are dma accessable by the system.
This is based on ariane@'s physcontig diff, with lots of bugfixes and
additions the following additions by my self:
Introduce a new function pool_set_constraints() which sets the address
range for which we allocate pages for the pool from, this is now used
for the mbuf/mbuf cluster pools to keep them dma accessible.
The !direct archs no longer stuff pages into the kernel object in
uvm_km_getpage_pla but rather do a pmap_extract() in uvm_km_putpages.
Tested heavily by my self on i386, amd64 and sparc64. Some tests on
alpha and SGI.
"commit it" beck, art, oga, deraadt
"i like the diff" deraadt