Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/mips/mips move softint_cleanup, which is a part of ...



details:   https://anonhg.NetBSD.org/src/rev/31feab4dbc7c
branches:  trunk
changeset: 1020643:31feab4dbc7c
user:      mrg <mrg%NetBSD.org@localhost>
date:      Sun Apr 18 10:40:34 2021 +0000

description:
move softint_cleanup, which is a part of softint_fast_dispatch(),
into the section of code known as softint_fast_dispatch().

previous:

db> x/i softint_cleanup
netbsd:cpu_switchto+0xd4:       ld      t0,0(t8)

except that cpu_switchto() ends at cpu_switchto+0xd0.

now:

db> x/i softint_cleanup
netbsd:softint_fast_dispatch+0xa4:      ld      t0,0(t8)


tested on OCTEON.

diffstat:

 sys/arch/mips/mips/locore.S |  62 +++++++++++++++++++++-----------------------
 1 files changed, 30 insertions(+), 32 deletions(-)

diffs (90 lines):

diff -r ccd67dc5328d -r 31feab4dbc7c sys/arch/mips/mips/locore.S
--- a/sys/arch/mips/mips/locore.S       Sun Apr 18 10:09:49 2021 +0000
+++ b/sys/arch/mips/mips/locore.S       Sun Apr 18 10:40:34 2021 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: locore.S,v 1.226 2020/09/26 08:21:10 simonb Exp $      */
+/*     $NetBSD: locore.S,v 1.227 2021/04/18 10:40:34 mrg Exp $ */
 
 /*
  * Copyright (c) 1992, 1993
@@ -63,7 +63,7 @@
 #include <mips/trap.h>
 #include <mips/locore.h>
 
-RCSID("$NetBSD: locore.S,v 1.226 2020/09/26 08:21:10 simonb Exp $")
+RCSID("$NetBSD: locore.S,v 1.227 2021/04/18 10:40:34 mrg Exp $")
 
 #include "assym.h"
 
@@ -351,36 +351,6 @@
  *
  * called at IPL_HIGH
  *
- */
-softint_cleanup:
-#ifdef PARANOIA
-       mfc0    t1, MIPS_COP_0_STATUS
-       MFC0_HAZARD
-       and     v0, t1, MIPS_SR_INT_IE
-#if __mips >= 32
-       teqi    v0, 0
-#else
-1:     beqz    v0, 1b
-        nop
-#endif
-#endif /* PARANOIA */
-       PTR_L   t0, L_CPU(MIPS_CURLWP)
-       NOP_L                                   # load delay
-       INT_L   t1, CPU_INFO_MTX_COUNT(t0)
-       NOP_L                                   # load delay
-       INT_ADDU t1, 1
-       INT_S   t1, CPU_INFO_MTX_COUNT(t0)
-       REG_L   ra, CALLFRAME_RA(sp)
-       REG_L   v0, CALLFRAME_S0(sp)            # get softint lwp
-       NOP_L                                   # load delay
-#if IPL_SCHED != IPL_HIGH
-       j       _C_LABEL(splhigh_noprof)
-#else
-       jr      ra
-#endif
-        PTR_ADDU sp, CALLFRAME_SIZ
-
-/*
  * Arguments:
  *     a0      the LWP to switch to
  *     a1      IPL to execute at
@@ -463,6 +433,34 @@
         */
        jr      ra
         PTR_ADDU sp, CALLFRAME_SIZ
+
+softint_cleanup:
+#ifdef PARANOIA
+       mfc0    t1, MIPS_COP_0_STATUS
+       MFC0_HAZARD
+       and     v0, t1, MIPS_SR_INT_IE
+#if __mips >= 32
+       teqi    v0, 0
+#else
+1:     beqz    v0, 1b
+        nop
+#endif
+#endif /* PARANOIA */
+       PTR_L   t0, L_CPU(MIPS_CURLWP)
+       NOP_L                                   # load delay
+       INT_L   t1, CPU_INFO_MTX_COUNT(t0)
+       NOP_L                                   # load delay
+       INT_ADDU t1, 1
+       INT_S   t1, CPU_INFO_MTX_COUNT(t0)
+       REG_L   ra, CALLFRAME_RA(sp)
+       REG_L   v0, CALLFRAME_S0(sp)            # get softint lwp
+       NOP_L                                   # load delay
+#if IPL_SCHED != IPL_HIGH
+       j       _C_LABEL(splhigh_noprof)
+#else
+       jr      ra
+#endif
+        PTR_ADDU sp, CALLFRAME_SIZ
 END(softint_fast_dispatch)
 #endif /* __HAVE_FAST_SOFTINTS */
 



Home | Main Index | Thread Index | Old Index