Module Name: src Committed By: skrll Date: Wed Jun 3 21:08:51 UTC 2009
Modified Files: src/sys/arch/hp700/hp700: locore.S src/sys/arch/hp700/include: cpu.h src/sys/arch/hppa/hppa: vm_machdep.c Log Message: Do not use lwp_trampoline for cpu_setfunc, but a simplified setfunc_trampoline that does not call lwp_startup(). To generate a diff of this commit: cvs rdiff -u -r1.34 -r1.35 src/sys/arch/hp700/hp700/locore.S cvs rdiff -u -r1.33 -r1.34 src/sys/arch/hp700/include/cpu.h cvs rdiff -u -r1.35 -r1.36 src/sys/arch/hppa/hppa/vm_machdep.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/hp700/hp700/locore.S diff -u src/sys/arch/hp700/hp700/locore.S:1.34 src/sys/arch/hp700/hp700/locore.S:1.35 --- src/sys/arch/hp700/hp700/locore.S:1.34 Sun May 24 09:17:59 2009 +++ src/sys/arch/hp700/hp700/locore.S Wed Jun 3 21:08:51 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.S,v 1.34 2009/05/24 09:17:59 skrll Exp $ */ +/* $NetBSD: locore.S,v 1.35 2009/06/03 21:08:51 skrll Exp $ */ /* $OpenBSD: locore.S,v 1.158 2008/07/28 19:08:46 miod Exp $ */ /* @@ -982,6 +982,7 @@ .import lwp_startup, code CALL(lwp_startup, %r1) +ALTENTRY(setfunc_trampoline) /* get trampoline func (%t3) and arg (%arg0) */ ldw HPPA_FRAME_ARG(3)(%sp), %arg0 ldw HPPA_FRAME_ARG(2)(%sp), %t3 Index: src/sys/arch/hp700/include/cpu.h diff -u src/sys/arch/hp700/include/cpu.h:1.33 src/sys/arch/hp700/include/cpu.h:1.34 --- src/sys/arch/hp700/include/cpu.h:1.33 Wed May 13 14:33:42 2009 +++ src/sys/arch/hp700/include/cpu.h Wed Jun 3 21:08:51 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: cpu.h,v 1.33 2009/05/13 14:33:42 skrll Exp $ */ +/* $NetBSD: cpu.h,v 1.34 2009/06/03 21:08:51 skrll Exp $ */ /* $OpenBSD: cpu.h,v 1.55 2008/07/23 17:39:35 kettenis Exp $ */ @@ -270,6 +270,7 @@ size_t *); int copy_on_fault(void); void lwp_trampoline(void); +void setfunc_trampoline(void); int cpu_dumpsize(void); int cpu_dump(void); #endif Index: src/sys/arch/hppa/hppa/vm_machdep.c diff -u src/sys/arch/hppa/hppa/vm_machdep.c:1.35 src/sys/arch/hppa/hppa/vm_machdep.c:1.36 --- src/sys/arch/hppa/hppa/vm_machdep.c:1.35 Thu Apr 30 07:01:27 2009 +++ src/sys/arch/hppa/hppa/vm_machdep.c Wed Jun 3 21:08:51 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: vm_machdep.c,v 1.35 2009/04/30 07:01:27 skrll Exp $ */ +/* $NetBSD: vm_machdep.c,v 1.36 2009/06/03 21:08:51 skrll Exp $ */ /* $OpenBSD: vm_machdep.c,v 1.64 2008/09/30 18:54:26 miod Exp $ */ @@ -29,7 +29,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: vm_machdep.c,v 1.35 2009/04/30 07:01:27 skrll Exp $"); +__KERNEL_RCSID(0, "$NetBSD: vm_machdep.c,v 1.36 2009/06/03 21:08:51 skrll Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -200,11 +200,11 @@ */ osp = sp; - /* lwp_trampoline's frame */ + /* setfunc_trampoline's frame */ sp += HPPA_FRAME_SIZE; *(register_t *)(sp + HPPA_FRAME_PSP) = osp; - *(register_t *)(sp + HPPA_FRAME_CRP) = (register_t)lwp_trampoline; + *(register_t *)(sp + HPPA_FRAME_CRP) = (register_t)setfunc_trampoline; *HPPA_FRAME_CARG(2, sp) = KERNMODE(func); *HPPA_FRAME_CARG(3, sp) = (register_t)arg;