Module Name: src Committed By: maxv Date: Fri Jul 22 14:08:33 UTC 2016
Modified Files: src/sys/arch/amd64/amd64: machdep.c src/sys/arch/amd64/include: pmap.h src/sys/arch/x86/x86: pmap.c Log Message: Remove pmap_prealloc_lowmem_ptps on amd64. This function creates levels in the page tree so that the first 2MB of virtual memory can be kentered in L1. Strictly speaking, the kernel should never kenter a virtual page below VM_MIN_KERNEL_ADDRESS, because then it wouldn't be available in userland. It used to need the first 2MB in order to map the CPU trampoline and the initial VAs used by the bootstrap code. Now, the CPU trampoline VA is allocated with uvm_km_alloc and the VAs used by the bootstrap code are allocated with pmap_bootstrap_valloc, and in either case the resulting VA is above VM_MIN_KERNEL_ADDRESS. The low levels in the page tree are therefore unused. By removing this function, we are making sure no one will be tempted to map an area below VM_MIN_KERNEL_ADDRESS in kernel mode, and particularly, we are making sure NULL cannot be kentered. In short, there is no way to map NULL in kernel mode anymore. To generate a diff of this commit: cvs rdiff -u -r1.225 -r1.226 src/sys/arch/amd64/amd64/machdep.c cvs rdiff -u -r1.37 -r1.38 src/sys/arch/amd64/include/pmap.h cvs rdiff -u -r1.215 -r1.216 src/sys/arch/x86/x86/pmap.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.