NetBSD/sys/compat/irix
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
..
files.irix Added sysctl to change all IRIX kernel values reported by uname and systeminfo: 2002-11-09 09:03:56 +00:00
irix_dirent.c Back out the lwp/ktrace changes. They contained a lot of colateral damage, 2003-06-29 22:28:00 +00:00
irix_errno.c
irix_errno.h
irix_exec_elf32.c irix_elf32_probe is now responsible for finding interpreter's load 2003-08-06 01:04:44 +00:00
irix_exec.c add support for non-executable mappings (where the hardware allows this) 2003-08-24 17:52:28 +00:00
irix_exec.h add support for non-executable mappings (where the hardware allows this) 2003-08-24 17:52:28 +00:00
irix_fcntl.c Mechanical LWP'ification of IRIX compat code; untested as of right now. 2003-01-22 12:58:22 +00:00
irix_fcntl.h Don't use SVR4 code for fcntl(F_GETFL) and fcntl(F_SETFL) because the constant 2002-06-01 16:16:36 +00:00
irix_ioctl.c Mechanical LWP'ification of IRIX compat code; untested as of right now. 2003-01-22 12:58:22 +00:00
irix_ioctl.h Added an ioctl emulation so that IRIX's tar is able to extract a file. 2002-10-05 21:29:02 +00:00
irix_kmem.c merge kqueue branch into -current 2002-10-23 09:10:23 +00:00
irix_kmem.h Merge the gehenna-devsw branch into the trunk. 2002-09-06 13:18:43 +00:00
irix_misc.c Mechanical LWP'ification of IRIX compat code; untested as of right now. 2003-01-22 12:58:22 +00:00
irix_mman.c Mechanical LWP'ification of IRIX compat code; untested as of right now. 2003-01-22 12:58:22 +00:00
irix_mman.h - We now use irix_sys_mmap instead of svr4_sys_mmap 2002-04-22 05:58:46 +00:00
irix_mount.c Back out the lwp/ktrace changes. They contained a lot of colateral damage, 2003-06-29 22:28:00 +00:00
irix_prctl.c lwpified sproc emulation so that it builds and works again. COMPAT_IRIX 2003-01-28 23:47:42 +00:00
irix_prctl.h Implement MAP_LOCAL option to mmap, which enable the mapping of regions 2002-10-14 21:14:23 +00:00
irix_resource.c Mechanical LWP'ification of IRIX compat code; untested as of right now. 2003-01-22 12:58:22 +00:00
irix_resource.h Two forgotten files in last commit for get/setrlimit 2002-06-14 20:33:11 +00:00
irix_signal.c Use find_stopped_child() and proc_free() in compat wait() code to 2003-02-14 10:19:14 +00:00
irix_signal.h We now fill the struct siginfo when requested (SA_SIGINFO flag to sigaction) 2002-09-25 19:09:50 +00:00
irix_stat.c Back out the lwp/ktrace changes. They contained a lot of colateral damage, 2003-06-29 22:28:00 +00:00
irix_swap.c (void_cast_for_gcc_3_3_msg_goes_here *) 2003-07-29 16:18:54 +00:00
irix_swap.h - now reports accurate swap object size with swapctl(SWAP_STATS) 2002-03-28 13:14:42 +00:00
irix_syscall.h Regen to get correct RCS ID. 2003-01-18 23:28:15 +00:00
irix_syscallargs.h Regen to get correct RCS ID. 2003-01-18 23:28:15 +00:00
irix_syscalls.c Regen to get correct RCS ID. 2003-01-18 23:28:15 +00:00
irix_sysctl.c Added sysctl to change all IRIX kernel values reported by uname and systeminfo: 2002-11-09 09:03:56 +00:00
irix_sysctl.h Added sysctl to change all IRIX kernel values reported by uname and systeminfo: 2002-11-09 09:03:56 +00:00
irix_sysent.c Regen to get correct RCS ID. 2003-01-18 23:28:15 +00:00
irix_sysmp.c Mechanical LWP'ification of IRIX compat code; untested as of right now. 2003-01-22 12:58:22 +00:00
irix_sysmp.h Added support for sysmp system accounting structures. Only real memory info 2002-03-26 10:54:40 +00:00
irix_syssgi.c (void_cast_for_gcc_3_3_msg_goes_here *) 2003-07-29 16:18:54 +00:00
irix_syssgi.h Implement IRIX_SGI_NUM_MODULES and IRIX_SGI_MODULE_INFO syssgi() commands. 2002-10-13 22:13:47 +00:00
irix_systeminfo.c Mechanical LWP'ification of IRIX compat code; untested as of right now. 2003-01-22 12:58:22 +00:00
irix_types.h Added uname emulation so that IRIX's uname -s returns IRIX 2002-10-05 23:17:29 +00:00
irix_usema.c Mechanical LWP'ification of IRIX compat code; untested as of right now. 2003-01-22 12:58:22 +00:00
irix_usema.h Merge the gehenna-devsw branch into the trunk. 2002-09-06 13:18:43 +00:00
Makefile
syscalls.conf bump nsysent to nearest p-o-2 2002-11-01 19:29:21 +00:00
syscalls.master Merge the nathanw_sa branch. 2003-01-18 07:44:50 +00:00