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