NetBSD/sys/compat/svr4_32
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
..
Makefile
files.svr4_32 Use svr4_ttold.c since it has no LP64 issues. 2001-02-19 15:48:59 +00:00
sed.script
svr4_32_acl.h
svr4_32_dirent.h
svr4_32_exec.c add support for non-executable mappings (where the hardware allows this) 2003-08-24 17:52:28 +00:00
svr4_32_exec.h Back out the lwp/ktrace changes. They contained a lot of colateral damage, 2003-06-29 22:28:00 +00:00
svr4_32_exec_elf32.c Back out the lwp/ktrace changes. They contained a lot of colateral damage, 2003-06-29 22:28:00 +00:00
svr4_32_fcntl.c Back out the lwp/ktrace changes. They contained a lot of colateral damage, 2003-06-29 22:28:00 +00:00
svr4_32_fcntl.h
svr4_32_filio.c Back out the lwp/ktrace changes. They contained a lot of colateral damage, 2003-06-29 22:28:00 +00:00
svr4_32_fuser.h
svr4_32_hrt.h
svr4_32_ioctl.c Merge the nathanw_sa branch. 2003-01-19 16:41:46 +00:00
svr4_32_ioctl.h Merge the nathanw_sa branch. 2003-01-19 16:41:46 +00:00
svr4_32_ipc.c Merge the nathanw_sa branch. 2003-01-19 16:41:46 +00:00
svr4_32_ipc.h
svr4_32_lwp.c Fix lwp_wait syscallargs. This closes PR 19941. 2003-01-20 08:27:40 +00:00
svr4_32_lwp.h
svr4_32_misc.c Back out the lwp/ktrace changes. They contained a lot of colateral damage, 2003-06-29 22:28:00 +00:00
svr4_32_net.c Back out the lwp/ktrace changes. They contained a lot of colateral damage, 2003-06-29 22:28:00 +00:00
svr4_32_resource.c Merge the nathanw_sa branch. 2003-01-19 16:41:46 +00:00
svr4_32_resource.h
svr4_32_siginfo.h
svr4_32_signal.c Merge the nathanw_sa branch. 2003-01-19 16:41:46 +00:00
svr4_32_signal.h Complete the rename: s/sa_/<compat>_sa_/g 2002-11-27 16:44:01 +00:00
svr4_32_socket.c Merge the nathanw_sa branch. 2003-01-19 16:41:46 +00:00
svr4_32_socket.h
svr4_32_sockio.c Back out the lwp/ktrace changes. They contained a lot of colateral damage, 2003-06-29 22:28:00 +00:00
svr4_32_sockio.h
svr4_32_stat.c Back out the lwp/ktrace changes. They contained a lot of colateral damage, 2003-06-29 22:28:00 +00:00
svr4_32_stat.h
svr4_32_statvfs.h
svr4_32_stream.c Back out the lwp/ktrace changes. They contained a lot of colateral damage, 2003-06-29 22:28:00 +00:00
svr4_32_stropts.h
svr4_32_syscall.h Regen to get correct RCS ID. 2003-01-19 16:49:12 +00:00
svr4_32_syscallargs.h Regen to get correct RCS ID. 2003-01-19 16:49:12 +00:00
svr4_32_syscalls.c Regen to get correct RCS ID. 2003-01-19 16:49:12 +00:00
svr4_32_sysent.c Regen to get correct RCS ID. 2003-01-19 16:49:12 +00:00
svr4_32_termios.c Back out the lwp/ktrace changes. They contained a lot of colateral damage, 2003-06-29 22:28:00 +00:00
svr4_32_termios.h
svr4_32_time.h
svr4_32_timod.h
svr4_32_types.h
svr4_32_ucontext.h Merge the nathanw_sa branch. 2003-01-19 16:41:46 +00:00
svr4_32_ustat.h
svr4_32_util.h
syscalls.conf
syscalls.master Merge the nathanw_sa branch. 2003-01-19 16:41:46 +00:00