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