diff options
author | Dale Rahn <drahn@cvs.openbsd.org> | 2003-04-17 03:56:21 +0000 |
---|---|---|
committer | Dale Rahn <drahn@cvs.openbsd.org> | 2003-04-17 03:56:21 +0000 |
commit | 2d9a8f36247b2424ae7525d789cac7a753ce84d1 (patch) | |
tree | dc8bbe08846284609c36aff1eedff19293f10a8a /sys/arch | |
parent | e8925860bd2d6f5162fd782b09454a30f6ba612b (diff) |
A SEVERE hack given to me by mickey to draw the line in the sand at 1G.
memory by default will be executable, above, non executable. If memory
is requested to be exectable above 1G, this limit is relaxed.
Diffstat (limited to 'sys/arch')
-rw-r--r-- | sys/arch/i386/i386/machdep.c | 5 | ||||
-rw-r--r-- | sys/arch/i386/i386/pmap.c | 4 |
2 files changed, 4 insertions, 5 deletions
diff --git a/sys/arch/i386/i386/machdep.c b/sys/arch/i386/i386/machdep.c index 473c2e4c8ad..9d6b46e3a0c 100644 --- a/sys/arch/i386/i386/machdep.c +++ b/sys/arch/i386/i386/machdep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: machdep.c,v 1.224 2003/03/28 00:49:13 miod Exp $ */ +/* $OpenBSD: machdep.c,v 1.225 2003/04/17 03:56:20 drahn Exp $ */ /* $NetBSD: machdep.c,v 1.214 1996/11/10 03:16:17 thorpej Exp $ */ /*- @@ -2201,8 +2201,7 @@ init386(paddr_t first_avail) 0, 0); setsegment(&gdt[GUCODE1_SEL].sd, 0, i386_btop(VM_MAXUSER_ADDRESS) - 1, SDT_MEMERA, SEL_UPL, 1, 1); - setsegment(&gdt[GUCODE_SEL].sd, 0, - i386_btop(VM_MAXUSER_ADDRESS - MAXSSIZ) - 1, + setsegment(&gdt[GUCODE_SEL].sd, 0, i386_btop(0x3fffffff), /* 1G */ SDT_MEMERA, SEL_UPL, 1, 1); setsegment(&gdt[GUDATA_SEL].sd, 0, i386_btop(VM_MAXUSER_ADDRESS) - 1, SDT_MEMRWA, SEL_UPL, 1, 1); diff --git a/sys/arch/i386/i386/pmap.c b/sys/arch/i386/i386/pmap.c index 85fb1b21653..1fc27e278a0 100644 --- a/sys/arch/i386/i386/pmap.c +++ b/sys/arch/i386/i386/pmap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pmap.c,v 1.67 2003/04/09 12:11:15 niklas Exp $ */ +/* $OpenBSD: pmap.c,v 1.68 2003/04/17 03:56:20 drahn Exp $ */ /* $NetBSD: pmap.c,v 1.91 2000/06/02 17:46:37 thorpej Exp $ */ /* @@ -576,7 +576,7 @@ pmap_nxstack_account(struct pmap *pmap, vaddr_t va, pt_entry_t opte, pt_entry_t npte) { if (((opte ^ npte) & PG_X) && - va < VM_MAXUSER_ADDRESS && va >= VM_MAXUSER_ADDRESS - MAXSSIZ) { + va < VM_MAXUSER_ADDRESS && va >= 0x40000000) { struct trapframe *tf = curproc->p_md.md_regs; struct vm_map *map = &curproc->p_vmspace->vm_map; |