diff options
author | nwhitehorn <nwhitehorn@FreeBSD.org> | 2010-03-25 14:24:00 +0000 |
---|---|---|
committer | nwhitehorn <nwhitehorn@FreeBSD.org> | 2010-03-25 14:24:00 +0000 |
commit | d63c82a6ac162cf5ffe6c7e960eadbfd6cfeff71 (patch) | |
tree | 1b94b19913504191437503d3847784285efcec5f /sys/ia64/ia64/machdep.c | |
parent | b60f1f5349665e80134bc9f0afab88b52539ab40 (diff) | |
download | FreeBSD-src-d63c82a6ac162cf5ffe6c7e960eadbfd6cfeff71.zip FreeBSD-src-d63c82a6ac162cf5ffe6c7e960eadbfd6cfeff71.tar.gz |
Change the arguments of exec_setregs() so that it receives a pointer
to the image_params struct instead of several members of that struct
individually. This makes it easier to expand its arguments in the future
without touching all platforms.
Reviewed by: jhb
Diffstat (limited to 'sys/ia64/ia64/machdep.c')
-rw-r--r-- | sys/ia64/ia64/machdep.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/ia64/ia64/machdep.c b/sys/ia64/ia64/machdep.c index ec3d612..9f47a9a 100644 --- a/sys/ia64/ia64/machdep.c +++ b/sys/ia64/ia64/machdep.c @@ -1328,7 +1328,7 @@ set_mcontext(struct thread *td, const mcontext_t *mc) * Clear registers on exec. */ void -exec_setregs(struct thread *td, u_long entry, u_long stack, u_long ps_strings) +exec_setregs(struct thread *td, struct image_params *imgp, u_long stack) { struct trapframe *tf; uint64_t *ksttop, *kst; @@ -1366,7 +1366,7 @@ exec_setregs(struct thread *td, u_long entry, u_long stack, u_long ps_strings) *kst-- = 0; if (((uintptr_t)kst & 0x1ff) == 0x1f8) *kst-- = 0; - *kst-- = ps_strings; + *kst-- = imgp->ps_strings; if (((uintptr_t)kst & 0x1ff) == 0x1f8) *kst-- = 0; *kst = stack; @@ -1385,7 +1385,7 @@ exec_setregs(struct thread *td, u_long entry, u_long stack, u_long ps_strings) suword((caddr_t)tf->tf_special.bspstore - 8, 0); } - tf->tf_special.iip = entry; + tf->tf_special.iip = imgp->entry_addr; tf->tf_special.sp = (stack & ~15) - 16; tf->tf_special.rsc = 0xf; tf->tf_special.fpsr = IA64_FPSR_DEFAULT; |