Add new uvm function called uvm_map_pie() which takes align as a
authorkurt <kurt@openbsd.org>
Fri, 18 Jul 2008 16:40:17 +0000 (16:40 +0000)
committerkurt <kurt@openbsd.org>
Fri, 18 Jul 2008 16:40:17 +0000 (16:40 +0000)
commitc62276a4f36e19bbf603756107d0f12ed6ad2909
tree9f78044e59443060c1dfa39a4deee3f48bfe1215
parent97b92f56f282ad02f2d921855747fd1f1099a264
Add new uvm function called uvm_map_pie() which takes align as a
parameter and returns an aligned random load address for position
independent executables to use. This also adds three new vmparam.h
defines to specify the maximum address, minimum address and minimum
allowed alignment for uvm_map_pie() to use. The PIE address range
for i386 was carefully selected to work well within the i386 W^X
framework.

With much help and feedback from weingart@.
okay weingart@, miod@, kettenis@, drahn@
sys/arch/amd64/include/vmparam.h
sys/arch/i386/include/vmparam.h
sys/arch/macppc/include/vmparam.h
sys/arch/sparc64/include/vmparam.h
sys/uvm/uvm_map.c
sys/uvm/uvm_map.h