summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorDale Rahn <drahn@cvs.openbsd.org>2003-04-17 03:56:21 +0000
committerDale Rahn <drahn@cvs.openbsd.org>2003-04-17 03:56:21 +0000
commit2d9a8f36247b2424ae7525d789cac7a753ce84d1 (patch)
treedc8bbe08846284609c36aff1eedff19293f10a8a /sys/arch
parente8925860bd2d6f5162fd782b09454a30f6ba612b (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.c5
-rw-r--r--sys/arch/i386/i386/pmap.c4
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;