NetBSD/sys
chs 939df36e55 add support for non-executable mappings (where the hardware allows this)
and make the stack and heap non-executable by default.  the changes
fall into two basic catagories:

 - pmap and trap-handler changes.  these are all MD:
   = alpha: we already track per-page execute permission with the (software)
	PG_EXEC bit, so just have the trap handler pay attention to it.
   = i386: use a new GDT segment for %cs for processes that have no
	executable mappings above a certain threshold (currently the
	bottom of the stack).  track per-page execute permission with
	the last unused PTE bit.
   = powerpc/ibm4xx: just use the hardware exec bit.
   = powerpc/oea: we already track per-page exec bits, but the hardware only
	implements non-exec mappings at the segment level.  so track the
	number of executable mappings in each segment and turn on the no-exec
	segment bit iff the count is 0.  adjust the trap handler to deal.
   = sparc (sun4m): fix our use of the hardware protection bits.
	fix the trap handler to recognize text faults.
   = sparc64: split the existing unified TSB into data and instruction TSBs,
	and only load TTEs into the appropriate TSB(s) for the permissions.
	fix the trap handler to check for execute permission.
   = not yet implemented: amd64, hppa, sh5

 - changes in all the emulations that put a signal trampoline on the stack.
   instead, we now put the trampoline into a uvm_aobj and map that into
   the process separately.

originally from openbsd, adapted for netbsd by me.
2003-08-24 17:52:28 +00:00
..
altq expose CBQ_MAXPRI to userland 2003-08-20 23:32:25 +00:00
arch add support for non-executable mappings (where the hardware allows this) 2003-08-24 17:52:28 +00:00
coda Back out the lwp/ktrace changes. They contained a lot of colateral damage, 2003-06-29 22:28:00 +00:00
compat add support for non-executable mappings (where the hardware allows this) 2003-08-24 17:52:28 +00:00
conf allow DEBUG to be set to "-gstabs" or "-gstabs+", to enable building 2003-08-18 00:15:41 +00:00
crypto Ensure that the IV is aligned for strict alignment machines. 2003-08-18 02:36:17 +00:00
ddb Move UCB-licensed code from 4-clause to 3-clause licence. 2003-08-07 16:26:28 +00:00
dev defflag RASTERCONSOLE. 2003-08-24 17:36:32 +00:00
fs Move UCB-licensed code from 4-clause to 3-clause licence. 2003-08-07 16:26:28 +00:00
gdbscripts Clean up the output a little and print the lwp pointer. 2003-04-28 01:43:48 +00:00
ipkdb
kern add support for non-executable mappings (where the hardware allows this) 2003-08-24 17:52:28 +00:00
lib Reduce memory footprint: 2003-08-22 21:33:52 +00:00
lkm Add exec_setup_stack in execsw for lkm. Hi christos! 2003-08-18 09:04:45 +00:00
miscfs Add casts of LINUX_USRSTACK and USRSTACK to handle the cases 2003-08-21 23:00:07 +00:00
net When trying to (re-)establish a session cope with intermediate output 2003-08-23 16:42:41 +00:00
netatalk Back out the lwp/ktrace changes. They contained a lot of colateral damage, 2003-06-29 22:28:00 +00:00
netccitt Move UCB-licensed code from 4-clause to 3-clause licence. 2003-08-07 16:26:28 +00:00
netinet need sys/domain.h for FAST_IPSEC case; jonathan 2003-08-23 01:41:10 +00:00
netinet6 correct missing inclusion of opt_ipsec.h 2003-08-22 22:11:44 +00:00
netipsec change the additional arg to be passed to ip{,6}_output to struct socket *. 2003-08-22 21:53:01 +00:00
netisdn Make it compile on alpha. 2003-08-12 19:49:27 +00:00
netiso change the additional arg to be passed to ip{,6}_output to struct socket *. 2003-08-22 21:53:01 +00:00
netkey allow userland to specify SPD ID. more readable debugging messages. 2003-08-22 06:22:21 +00:00
netnatm Back out the lwp/ktrace changes. They contained a lot of colateral damage, 2003-06-29 22:28:00 +00:00
netns change the additional arg to be passed to ip{,6}_output to struct socket *. 2003-08-22 21:53:01 +00:00
netsmb "(u_short > 0xffff)" is never true, as gcc3 found out 2003-07-03 10:59:12 +00:00
nfs use sizeof() instead of a hardcorded constant. 2003-08-16 18:09:14 +00:00
opencrypto on netbsd, major # for /dev/crypto depends on arch 2003-08-22 05:07:26 +00:00
stand Move UCB-licensed code from 4-clause to 3-clause licence. 2003-08-07 16:26:28 +00:00
sys add support for non-executable mappings (where the hardware allows this) 2003-08-24 17:52:28 +00:00
ufs Split CGSIZE definition so it can be used with 64bit fpg values. 2003-08-21 14:41:00 +00:00
uvm add support for non-executable mappings (where the hardware allows this) 2003-08-24 17:52:28 +00:00
Makefile Descend into opencrypto (in alphabetical order) to install userland OCF header.. 2003-07-25 23:09:26 +00:00