Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/vax/vax Add a CHMU handler to implement __lwp_getpr...



details:   https://anonhg.NetBSD.org/src/rev/3ed90637618e
branches:  trunk
changeset: 764152:3ed90637618e
user:      matt <matt%NetBSD.org@localhost>
date:      Tue Apr 12 18:07:57 2011 +0000

description:
Add a CHMU handler to implement __lwp_getprivate_fast.

diffstat:

 sys/arch/vax/vax/intvec.S |  29 +++++++++++++++++++++++++----
 1 files changed, 25 insertions(+), 4 deletions(-)

diffs (50 lines):

diff -r cd037cf804bb -r 3ed90637618e sys/arch/vax/vax/intvec.S
--- a/sys/arch/vax/vax/intvec.S Tue Apr 12 17:46:38 2011 +0000
+++ b/sys/arch/vax/vax/intvec.S Tue Apr 12 18:07:57 2011 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: intvec.S,v 1.19 2010/12/20 00:25:45 matt Exp $   */
+/*     $NetBSD: intvec.S,v 1.20 2011/04/12 18:07:57 matt Exp $   */
 
 /*
  * Copyright (c) 1994, 1997 Ludd, University of Lule}, Sweden.
@@ -105,9 +105,9 @@
        NOVEC;                          # Unused, 38
        NOVEC;                          # Unused, 3C
        INTVEC(syscall, KSTACK)         # main syscall trap, chmk, 40
-       INTVEC(resopflt, KSTACK)        # chme, 44
-       INTVEC(resopflt, KSTACK)        # chms, 48
-       INTVEC(resopflt, KSTACK)        # chmu, 4C
+       INTVEC(chmx, KSTACK)            # chme, 44
+       INTVEC(chmx, KSTACK)            # chms, 48
+       INTVEC(chmu, KSTACK)            # chmu, 4C
        NOVEC;                          # System Backplane Exception/BIerror, 50
        INTVEC(cmrerr, ISTACK)          # Corrected Memory Read, 54
        NOVEC;                          # System Backplane Alert/RXCD, 58
@@ -224,6 +224,27 @@
        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)
+       clrl    (%sp)                   # CHM code already on stack
+       pushl   $T_RESOPFLT
+       jbr     Xtrap
+
+/*
  * Translation fault, used only when simulating page reference bit.
  * Therefore it is done a fast revalidation of the page if it is
  * referenced. Trouble here is the hardware bug on KA650 CPUs that



Home | Main Index | Thread Index | Old Index