aboutsummaryrefslogtreecommitdiff
path: root/sys/alpha
diff options
context:
space:
mode:
authorJake Burkholder <jake@FreeBSD.org>2002-09-01 21:41:24 +0000
committerJake Burkholder <jake@FreeBSD.org>2002-09-01 21:41:24 +0000
commitf36ba45234e29c86aa1d00093022d2f6c49f9c38 (patch)
treed075a9970497c96d66b9507960a9e101b7f40fb7 /sys/alpha
parent0f8a5e9b3f362fbe67a42cbd8c45f873629555a9 (diff)
Notes
Diffstat (limited to 'sys/alpha')
-rw-r--r--sys/alpha/alpha/elf_machdep.c24
-rw-r--r--sys/alpha/linux/linux_sysvec.c18
-rw-r--r--sys/alpha/osf1/osf1_sysvec.c18
3 files changed, 45 insertions, 15 deletions
diff --git a/sys/alpha/alpha/elf_machdep.c b/sys/alpha/alpha/elf_machdep.c
index 8e443e7643e5..ddeae1ba561b 100644
--- a/sys/alpha/alpha/elf_machdep.c
+++ b/sys/alpha/alpha/elf_machdep.c
@@ -28,6 +28,8 @@
#include <sys/param.h>
#include <sys/kernel.h>
#include <sys/systm.h>
+#include <sys/exec.h>
+#include <sys/imgact.h>
#include <sys/malloc.h>
#include <sys/proc.h>
#include <sys/namei.h>
@@ -38,6 +40,10 @@
#include <sys/signalvar.h>
#include <sys/vnode.h>
#include <sys/linker.h>
+
+#include <vm/vm.h>
+#include <vm/vm_param.h>
+
#include <machine/elf.h>
#include <machine/md_var.h>
@@ -46,11 +52,11 @@ struct sysentvec elf64_freebsd_sysvec = {
sysent,
0,
0,
+ NULL,
0,
- 0,
- 0,
- 0,
- elf64_freebsd_fixup,
+ NULL,
+ NULL,
+ __elfN(freebsd_fixup),
sendsig,
sigcode,
&szsigcode,
@@ -58,7 +64,15 @@ struct sysentvec elf64_freebsd_sysvec = {
"FreeBSD ELF64",
__elfN(coredump),
NULL,
- MINSIGSTKSZ
+ MINSIGSTKSZ,
+ PAGE_SIZE,
+ VM_MIN_ADDRESS,
+ VM_MAXUSER_ADDRESS,
+ USRSTACK,
+ PS_STRINGS,
+ VM_PROT_ALL,
+ exec_copyout_strings,
+ exec_setregs
};
static Elf64_Brandinfo freebsd_brand_info = {
diff --git a/sys/alpha/linux/linux_sysvec.c b/sys/alpha/linux/linux_sysvec.c
index 52af25f19301..9e9e1f97536b 100644
--- a/sys/alpha/linux/linux_sysvec.c
+++ b/sys/alpha/linux/linux_sysvec.c
@@ -179,19 +179,27 @@ struct sysentvec elf_linux_sysvec = {
linux_sysent,
0,
0,
+ NULL,
0,
- 0,
- 0,
- 0,
+ NULL,
+ NULL,
elf_linux_fixup,
osendsig,
linux_sigcode,
&linux_szsigcode,
- 0,
+ NULL,
"Linux ELF",
elf64_coredump,
exec_linux_imgact_try,
- LINUX_MINSIGSTKSZ
+ LINUX_MINSIGSTKSZ,
+ PAGE_SIZE,
+ VM_MIN_ADDRESS,
+ VM_MAXUSER_ADDRESS,
+ USRSTACK,
+ PS_STRINGS,
+ VM_PROT_ALL,
+ exec_copyout_strings,
+ exec_setregs
};
static Elf64_Brandinfo linux_brand = {
diff --git a/sys/alpha/osf1/osf1_sysvec.c b/sys/alpha/osf1/osf1_sysvec.c
index 45f11a965e89..7b216e0fd3ee 100644
--- a/sys/alpha/osf1/osf1_sysvec.c
+++ b/sys/alpha/osf1/osf1_sysvec.c
@@ -64,21 +64,29 @@ static int osf1_freebsd_fixup(long **stack_base, struct image_params *imgp);
struct sysentvec osf1_sysvec = {
OSF1_SYS_MAXSYSCALL,
osf1_sysent,
- 0x0,
- 0,
0,
0,
+ NULL,
0,
- 0, /* trap-to-signal translation function */
+ NULL,
+ NULL, /* trap-to-signal translation function */
osf1_freebsd_fixup, /* fixup */
osf1_sendsig,
sigcode, /* use generic trampoline */
&osf1_szsigcode, /* use generic trampoline size */
- 0, /* prepsyscall */
+ NULL, /* prepsyscall */
"OSF/1 ECOFF",
NULL, /* we don't have an ECOFF coredump function */
NULL,
- OSF1_MINSIGSTKSZ
+ OSF1_MINSIGSTKSZ,
+ PAGE_SIZE,
+ VM_MIN_ADDRESS,
+ VM_MAXUSER_ADDRESS,
+ USRSTACK,
+ PS_STRINGS,
+ VM_PROT_ALL,
+ exec_copyout_strings,
+ exec_setregs
};
/*