09c0f3ded7
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. |
||
---|---|---|
bin | ||
common | ||
compat | ||
crypto | ||
dist/pf | ||
distrib | ||
doc | ||
etc | ||
external | ||
extsrc | ||
games | ||
gnu | ||
include | ||
lib | ||
libexec | ||
regress | ||
rescue | ||
sbin | ||
share | ||
sys | ||
tests | ||
tools | ||
usr.bin | ||
usr.sbin | ||
build.sh | ||
BUILDING | ||
Makefile | ||
Makefile.inc | ||
UPDATING |