Module Name: src
Committed By: matt
Date: Thu Feb 2 18:31:41 UTC 2012
Modified Files:
src/sys/arch/vax/vax: genassym.cf intvec.S
Log Message:
In the syscall vector, deal with SYS_lwp_getprivate quickly. XXX what about
non-NetBSD syscall tables.
To generate a diff of this commit:
cvs rdiff -u -r1.50 -r1.51 src/sys/arch/vax/vax/genassym.cf
cvs rdiff -u -r1.20 -r1.21 src/sys/arch/vax/vax/intvec.S
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/vax/vax/genassym.cf
diff -u src/sys/arch/vax/vax/genassym.cf:1.50 src/sys/arch/vax/vax/genassym.cf:1.51
--- src/sys/arch/vax/vax/genassym.cf:1.50 Thu Apr 14 08:17:42 2011
+++ src/sys/arch/vax/vax/genassym.cf Thu Feb 2 18:31:41 2012
@@ -1,4 +1,4 @@
-# $NetBSD: genassym.cf,v 1.50 2011/04/14 08:17:42 matt Exp $
+# $NetBSD: genassym.cf,v 1.51 2012/02/02 18:31:41 matt Exp $
#
# Copyright (c) 1997 Ludd, University of Lule}, Sweden.
# All rights reserved.
@@ -150,6 +150,7 @@ define EV_COUNT offsetof(struct evcnt, e
define SYS_compat_16___sigreturn14 SYS_compat_16___sigreturn14
define SYS_exit SYS_exit
+define SYS__lwp_getprivate SYS__lwp_getprivate
define VAX_TYP_UV2 VAX_TYP_UV2
define VAX_TYP_8SS VAX_TYP_8SS
Index: src/sys/arch/vax/vax/intvec.S
diff -u src/sys/arch/vax/vax/intvec.S:1.20 src/sys/arch/vax/vax/intvec.S:1.21
--- src/sys/arch/vax/vax/intvec.S:1.20 Tue Apr 12 18:07:57 2011
+++ src/sys/arch/vax/vax/intvec.S Thu Feb 2 18:31:41 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: intvec.S,v 1.20 2011/04/12 18:07:57 matt Exp $ */
+/* $NetBSD: intvec.S,v 1.21 2012/02/02 18:31:41 matt Exp $ */
/*
* Copyright (c) 1994, 1997 Ludd, University of Lule}, Sweden.
@@ -107,7 +107,7 @@ _C_LABEL(rpb):
INTVEC(syscall, KSTACK) # main syscall trap, chmk, 40
INTVEC(chmx, KSTACK) # chme, 44
INTVEC(chmx, KSTACK) # chms, 48
- INTVEC(chmu, KSTACK) # chmu, 4C
+ INTVEC(chmx, KSTACK) # chmu, 4C
NOVEC; # System Backplane Exception/BIerror, 50
INTVEC(cmrerr, ISTACK) # Corrected Memory Read, 54
NOVEC; # System Backplane Alert/RXCD, 58
@@ -224,19 +224,6 @@ SCBENTRY(privinflt) # Privileged/unimple
TRAPCALL(resadflt, T_RESADFLT)
/*
- * Use chmu to implement a "fast" _lwp_getprivate.
- */
-SCBENTRY(chmu)
- cmpl (%sp), $1
- bneq 1f
- mfpr $PR_SSP, %r0 # get curlwp
- movl L_PRIVATE(%r0), %r0 # get l_private
- addl2 %sp, 4
- rei
-1:
- brw Xchmx
-
-/*
* default handler for CHME and CHMS
*/
SCBENTRY(chmx)
@@ -284,6 +271,15 @@ TRAPCALL(breakp, T_BPTFLT)
TRAPARGC(arithflt, T_ARITHFLT)
SCBENTRY(syscall) # Main system call
+#if 1
+ cmpl (%sp), $SYS__lwp_getprivate
+ bneq 1f
+ mfpr $PR_SSP, %r0 # get curlwp
+ movl L_PRIVATE(%r0), %r0 # get l_private
+ addl2 $4, %sp # eat the code
+ rei
+1:
+#endif
pushl $T_SYSCALL
pushr $0xfff
mfpr $PR_USP, -(%sp)