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;

Reply via email to