Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/arm/arm32 Fill in netbsd32_vm_default_addr, and pro...



details:   https://anonhg.NetBSD.org/src/rev/132011713204
branches:  trunk
changeset: 329079:132011713204
user:      skrll <skrll%NetBSD.org@localhost>
date:      Mon May 05 17:45:24 2014 +0000

description:
Fill in netbsd32_vm_default_addr, and provide

        - compat_13_netbsd32_sigreturn, and
        - compat_16_netbsd32___sigreturn14

diffstat:

 sys/arch/arm/arm32/netbsd32_machdep.c |  40 ++++++++++++++++++++++++++++++++--
 1 files changed, 37 insertions(+), 3 deletions(-)

diffs (56 lines):

diff -r 751a7bf54d6b -r 132011713204 sys/arch/arm/arm32/netbsd32_machdep.c
--- a/sys/arch/arm/arm32/netbsd32_machdep.c     Mon May 05 17:12:11 2014 +0000
+++ b/sys/arch/arm/arm32/netbsd32_machdep.c     Mon May 05 17:45:24 2014 +0000
@@ -29,7 +29,9 @@
 
 #include <sys/cdefs.h>
 
-__KERNEL_RCSID(1, "$NetBSD: netbsd32_machdep.c,v 1.5 2014/01/28 18:56:46 martin Exp $");
+__KERNEL_RCSID(1, "$NetBSD: netbsd32_machdep.c,v 1.6 2014/05/05 17:45:24 skrll Exp $");
+
+#include "opt_compat_netbsd.h"
 
 #include <sys/param.h>
 #include <sys/core.h>
@@ -91,7 +93,39 @@
 }
 
 vaddr_t
-netbsd32_vm_default_addr(struct proc *p, vaddr_t base, vsize_t size)
+netbsd32_vm_default_addr(struct proc *p, vaddr_t base, vsize_t sz)
+{
+       if (p->p_vmspace->vm_map.flags & VM_MAP_TOPDOWN)
+               return VM_DEFAULT_ADDRESS_TOPDOWN(base, sz);
+       else    
+               return VM_DEFAULT_ADDRESS_BOTTOMUP(base, sz);
+}
+
+
+#ifdef COMPAT_13
+int
+compat_13_netbsd32_sigreturn(struct lwp *l,
+       const struct compat_13_netbsd32_sigreturn_args *uap,
+       register_t *retval)
 {
-       return round_page((vaddr_t)(base) + (vsize_t)MAXDSIZ32);
+       struct compat_13_sys_sigreturn_args ua;
+
+       NETBSD32TOP_UAP(sigcntxp, struct sigcontext13 *);
+
+       return compat_13_sys_sigreturn(l, &ua, retval);
 }
+#endif
+
+#ifdef COMPAT_16
+int
+compat_16_netbsd32___sigreturn14(struct lwp *l,
+       const struct compat_16_netbsd32___sigreturn14_args *uap,
+       register_t *retval)
+{
+       struct compat_16_sys___sigreturn14_args ua;
+
+       NETBSD32TOP_UAP(sigcntxp, struct sigcontext *);
+
+       return compat_16_sys___sigreturn14(l, &ua, retval);
+}
+#endif



Home | Main Index | Thread Index | Old Index