Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/sparc/sparc Update fast xcall interrupt event counter.
details: https://anonhg.NetBSD.org/src/rev/f8a42346e6ba
branches: trunk
changeset: 565682:f8a42346e6ba
user: pk <pk%NetBSD.org@localhost>
date: Sat Apr 17 23:28:44 2004 +0000
description:
Update fast xcall interrupt event counter.
ft_srmmu_vcache_flush_range: adjust length for address alignment
diffstat:
sys/arch/sparc/sparc/locore.s | 15 ++++++++-------
1 files changed, 8 insertions(+), 7 deletions(-)
diffs (43 lines):
diff -r ffc6bedfae5f -r f8a42346e6ba sys/arch/sparc/sparc/locore.s
--- a/sys/arch/sparc/sparc/locore.s Sat Apr 17 23:20:37 2004 +0000
+++ b/sys/arch/sparc/sparc/locore.s Sat Apr 17 23:28:44 2004 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: locore.s,v 1.201 2004/04/17 11:55:06 pk Exp $ */
+/* $NetBSD: locore.s,v 1.202 2004/04/17 23:28:44 pk Exp $ */
/*
* Copyright (c) 1996 Paul Kranenburg
@@ -2724,11 +2724,11 @@
* %l6 = &cpuinfo
*/
lev14_softint:
- sll %l3, 2, %l5
- set _C_LABEL(intrcnt), %l4 ! intrcnt[intlev]++;
- ld [%l4 + %l5], %l7
- inc %l7
- st %l7, [%l4 + %l5]
+ set _C_LABEL(lev14_evcnt), %l7 ! lev14_evcnt.ev_count++;
+ ldd [%l7 + EV_COUNT], %l4
+ inccc %l5
+ addx %l4, %g0, %l4
+ std %l4, [%l7 + EV_COUNT]
ld [%l6 + CPUINFO_XMSG_TRAP], %l7
#ifdef DIAGNOSTIC
@@ -2869,6 +2869,7 @@
sta %l4, [%l7]ASI_SRMMU ! set new context
ld [%l6 + CPUINFO_XMSG_ARG1], %l4 ! size
+ add %l4, 8, %l4 ! compensate for alignment
ld [%l6 + CPUINFO_CACHE_LINESZ], %l7
1:
sta %g0, [%l3]ASI_IDCACHELFP ! flush cache line
@@ -2885,7 +2886,7 @@
andn %l3, 0xfff, %l3 ! va &= ~PGOFSET;
sub %l4, %l3, %l4 ! and finally: size rounded
! to page boundary
- set 4096, %l7 ! N = page size
+ set 4096, %l7 ! page size
2:
!or %l3, ASI_SRMMUFP_L3(=0), %l3 ! va |= ASI_SRMMUFP_L3
Home |
Main Index |
Thread Index |
Old Index