aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/kern_exec.c
diff options
context:
space:
mode:
authorDoug Rabson <dfr@FreeBSD.org>2000-10-12 14:24:03 +0000
committerDoug Rabson <dfr@FreeBSD.org>2000-10-12 14:24:03 +0000
commit63c47a5ca05b40d60c43bd070d99492e27f8851a (patch)
tree419e4296c0b1b7e7dd728beff2610fa81445b061 /sys/kern/kern_exec.c
parent1676212c30bf9d65b7893b1a8eab69275fe6c0fe (diff)
downloadsrc-63c47a5ca05b40d60c43bd070d99492e27f8851a.tar.gz
src-63c47a5ca05b40d60c43bd070d99492e27f8851a.zip
Add a gross hack for ia64 to allocate the backing store for a new program.
Notes
Notes: svn path=/head/; revision=67015
Diffstat (limited to 'sys/kern/kern_exec.c')
-rw-r--r--sys/kern/kern_exec.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c
index 3403e2f3227a..ab9062b22498 100644
--- a/sys/kern/kern_exec.c
+++ b/sys/kern/kern_exec.c
@@ -498,6 +498,22 @@ exec_new_vmspace(imgp)
if (error)
return (error);
+#ifdef __ia64__
+ {
+ /*
+ * Allocate backing store. We really need something
+ * similar to vm_map_stack which can allow the backing
+ * store to grow upwards. This will do for now.
+ */
+ vm_offset_t bsaddr;
+ bsaddr = USRSTACK - 2*MAXSSIZ;
+ error = vm_map_find(&vmspace->vm_map, 0, 0, &bsaddr,
+ 4*PAGE_SIZE, 0,
+ VM_PROT_ALL, VM_PROT_ALL, 0);
+ imgp->proc->p_md.md_bspstore = bsaddr;
+ }
+#endif
+
/* vm_ssize and vm_maxsaddr are somewhat antiquated concepts in the
* VM_STACK case, but they are still used to monitor the size of the
* process stack so we can check the stack rlimit.