NetBSD/sys/arch/alpha
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
..
a12 add __KERNEL_RCSID() (using 1, for #included .c files) 2003-07-14 23:25:35 +00:00
alpha add support for non-executable mappings (where the hardware allows this) 2003-08-24 17:52:28 +00:00
common a .#included .c file needs __KERNEL_RCSID(1, ... 2003-07-15 02:13:13 +00:00
compile Rework how KERNOBJDIR functions; now it's always determined with 2003-01-06 17:40:18 +00:00
conf add udav* 2003-08-22 07:52:48 +00:00
eisa
include add support for non-executable mappings (where the hardware allows this) 2003-08-24 17:52:28 +00:00
isa add __KERNEL_RCSID() (using 1, for #included .c files) 2003-07-14 23:25:35 +00:00
jensenio Use aprint_normal() for cfprint routines. 2003-01-01 00:39:19 +00:00
mcbus Use aprint_normal() for cfprint routines. 2003-01-01 00:39:19 +00:00
pci add __KERNEL_RCSID() (using 1, for #included .c files) 2003-07-14 23:25:35 +00:00
sableio Use aprint_normal() for cfprint routines. 2003-01-01 00:39:19 +00:00
stand Move UCB-licensed code from 4-clause to 3-clause licence. 2003-08-07 16:26:28 +00:00
tc Use aprint_normal() for cfprint routines. 2003-01-01 00:39:19 +00:00
tlsb Use aprint_normal() for cfprint routines. 2003-01-01 00:39:19 +00:00
Makefile Rework how KERNOBJDIR functions; now it's always determined with 2003-01-06 17:40:18 +00:00
STYLE Merge the gehenna-devsw branch into the trunk. 2002-09-06 13:18:43 +00:00