Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/mips/rmi Use EIMR/EIRR regs definitions from <mips/...



details:   https://anonhg.NetBSD.org/src/rev/dfe7eb1b037b
branches:  trunk
changeset: 1012224:dfe7eb1b037b
user:      simonb <simonb%NetBSD.org@localhost>
date:      Sun Jul 26 07:48:07 2020 +0000

description:
Use EIMR/EIRR regs definitions from <mips/cpuregs.h>

diffstat:

 sys/arch/mips/rmi/rmixl_spl.S  |  52 ++++++++++++++++++++---------------------
 sys/arch/mips/rmi/rmixl_subr.S |  17 +++++--------
 2 files changed, 32 insertions(+), 37 deletions(-)

diffs (212 lines):

diff -r 288a784c36ea -r dfe7eb1b037b sys/arch/mips/rmi/rmixl_spl.S
--- a/sys/arch/mips/rmi/rmixl_spl.S     Sun Jul 26 07:47:27 2020 +0000
+++ b/sys/arch/mips/rmi/rmixl_spl.S     Sun Jul 26 07:48:07 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: rmixl_spl.S,v 1.4 2015/06/19 06:32:08 matt Exp $       */
+/*     $NetBSD: rmixl_spl.S,v 1.5 2020/07/26 07:48:07 simonb Exp $     */
 
 /*-
  * Copyright (c) 2009, 2010 The NetBSD Foundation, Inc.
@@ -36,7 +36,7 @@
 #include <mips/asm.h>
 #include <mips/cpuregs.h>
 
-RCSID("$NetBSD: rmixl_spl.S,v 1.4 2015/06/19 06:32:08 matt Exp $");
+RCSID("$NetBSD: rmixl_spl.S,v 1.5 2020/07/26 07:48:07 simonb Exp $");
 
 #include "assym.h"
 
@@ -47,8 +47,6 @@
 #define RMIXL_EIRR_PRESERVE    (RMIXL_INT_MASK_5 | RMIXL_SOFT_INT_MASK)
 #define RMIXL_INT_MASK_1       (MIPS_INT_MASK_1 >> 8)
 #define RMIXL_INT_MASK_5       (MIPS_INT_MASK_5 >> 8)
-#define RMIXL_COP_0_EIRR       _(9), 6
-#define RMIXL_COP_0_EIMR       _(9), 7
 
        .set noreorder
 
@@ -89,9 +87,9 @@
        ori     t0, MIPS_SR_INT_IE              # set IE
        mtc0    zero, MIPS_COP_0_STATUS         ## disable all ints in STATUS
        COP0_SYNC
-       dmtc0   zero, RMIXL_COP_0_EIMR          ##  "       "   "   "  EIMR
+       dmtc0   zero, MIPS_COP_0_EIMR           ##  "       "   "   "  EIMR
        COP0_SYNC
-       dmtc0   zero, RMIXL_COP_0_EIRR          ## clear EIRR
+       dmtc0   zero, MIPS_COP_0_EIRR           ## clear EIRR
        COP0_SYNC
        mtc0    t0, MIPS_COP_0_STATUS           ## set STATUS | IE
        JR_HB_RA
@@ -110,8 +108,8 @@
         * Can only use a0-a3 and v0-v1
         * old IPL is returned in v0
         */
-       dmfc0   a2, RMIXL_COP_0_EIMR            # save EIMR
-       dmtc0   zero, RMIXL_COP_0_EIMR          ## disable all interrupts
+       dmfc0   a2, MIPS_COP_0_EIMR             # save EIMR
+       dmtc0   zero, MIPS_COP_0_EIMR           ## disable all interrupts
        COP0_SYNC
        PTR_L   a3, L_CPU(MIPS_CURLWP)          ##
        INT_L   v0, CPU_INFO_CPL(a3)            ## get current IPL from cpu_info
@@ -119,10 +117,10 @@
        bnez    v1, 1f                          ## yes, don't change.
         nop
        INT_S   a1, CPU_INFO_CPL(a3)            ## save IPL in cpu_info
-       dmtc0   a0, RMIXL_COP_0_EIMR            ## set new EIMR
+       dmtc0   a0, MIPS_COP_0_EIMR             ## set new EIMR
        JR_HB_RA
 1:
-       dmtc0   a2, RMIXL_COP_0_EIMR            ## restore saved EIMR
+       dmtc0   a2, MIPS_COP_0_EIMR             ## restore saved EIMR
        JR_HB_RA
 
 STATIC_LEAF(_splsw_splx)
@@ -132,17 +130,17 @@
        PTR_ADDU v1, a2                         # add to table addr
        REG_L   v1, (v1)                        # load EIMR bits for this IPL
 
-       dmtc0   zero, RMIXL_COP_0_EIMR          ## disable all interrupts
+       dmtc0   zero, MIPS_COP_0_EIMR           ## disable all interrupts
        COP0_SYNC
        PTR_L   a3, L_CPU(MIPS_CURLWP)          ## get cpu_info
        INT_S   a0, CPU_INFO_CPL(a3)            ## save IPL in cpu_info
-       dmtc0   v1, RMIXL_COP_0_EIMR            ## set new EIMR
+       dmtc0   v1, MIPS_COP_0_EIMR             ## set new EIMR
        JR_HB_RA
 END(_splsw_splx)
 
 STATIC_LEAF(_splsw_spl0)
        REG_L   v1, _C_LABEL(ipl_eimr_map) + 8*IPL_NONE
-       dmtc0   zero, RMIXL_COP_0_EIMR          ## disable all interrupts
+       dmtc0   zero, MIPS_COP_0_EIMR           ## disable all interrupts
        COP0_SYNC
        PTR_L   a3, L_CPU(MIPS_CURLWP)          ## get cpu_info
 #if IPL_NONE == 0
@@ -150,22 +148,22 @@
 #else
 #error IPL_NONE != 0
 #endif
-       dmtc0   v1, RMIXL_COP_0_EIMR            ## set new EIMR
+       dmtc0   v1, MIPS_COP_0_EIMR             ## set new EIMR
        JR_HB_RA
 END(_splsw_spl0)
 
 STATIC_LEAF(_splsw_setsoftintr)
        dsrl    a0, 8                           # convert CAUSE bit to EIRR bit
        and     a0, RMIXL_SOFT_INT_MASK         # restrict to softint bits
-       dmfc0   v1, RMIXL_COP_0_EIMR            # save EIMR register
-       dmtc0   zero, RMIXL_COP_0_EIMR          ## disable all interrupts
+       dmfc0   v1, MIPS_COP_0_EIMR             # save EIMR register
+       dmtc0   zero, MIPS_COP_0_EIMR           ## disable all interrupts
        COP0_SYNC
-       dmfc0   v0, RMIXL_COP_0_EIRR            ## load EIRR
+       dmfc0   v0, MIPS_COP_0_EIRR             ## load EIRR
        and     v0, RMIXL_EIRR_PRESERVE         ## preserve clock & softints
        or      v0, a0                          ## set new softint bit
-       dmtc0   v0, RMIXL_COP_0_EIRR            ## store EIRR
+       dmtc0   v0, MIPS_COP_0_EIRR             ## store EIRR
        COP0_SYNC
-       dmtc0   v1, RMIXL_COP_0_EIMR            ## restore EIMR
+       dmtc0   v1, MIPS_COP_0_EIMR             ## restore EIMR
        JR_HB_RA
 END(_splsw_setsoftintr)
 
@@ -173,14 +171,14 @@
        dsrl    a0, 8                           # convert CAUSE bit to EIRR bit
        and     a0, RMIXL_SOFT_INT_MASK         # restrict to softint bits
        xor     a0, RMIXL_EIRR_PRESERVE         # clear from preserve mask
-       dmfc0   v1, RMIXL_COP_0_EIMR            # save EIMR register
-       dmtc0   zero, RMIXL_COP_0_EIMR          ## disable all interrupts
+       dmfc0   v1, MIPS_COP_0_EIMR             # save EIMR register
+       dmtc0   zero, MIPS_COP_0_EIMR           ## disable all interrupts
        COP0_SYNC
-       dmfc0   v0, RMIXL_COP_0_EIRR            ## load EIRR
+       dmfc0   v0, MIPS_COP_0_EIRR             ## load EIRR
        and     v0, a0                          ## apply preserve mask
-       dmtc0   v0, RMIXL_COP_0_EIRR            ## store EIRR
+       dmtc0   v0, MIPS_COP_0_EIRR             ## store EIRR
        COP0_SYNC
-       dmtc0   v1, RMIXL_COP_0_EIMR            ## restore EIMR
+       dmtc0   v1, MIPS_COP_0_EIMR             ## restore EIMR
        JR_HB_RA
 END(_splsw_clrsoftintr)
 
@@ -196,7 +194,7 @@
 
 STATIC_LEAF(_splsw_splhigh)
 STATIC_XLEAF(_splsw_splhigh_noprof)
-       dmtc0   zero, RMIXL_COP_0_EIMR          ## disable all interrupts
+       dmtc0   zero, MIPS_COP_0_EIMR           ## disable all interrupts
        COP0_SYNC
        PTR_L   a3, L_CPU(MIPS_CURLWP)          ## get cpu_info from curlwp
        li      a1, IPL_HIGH                    ##
@@ -257,7 +255,7 @@
 END(_splsw_splsoftclock)
 
 STATIC_LEAF(_splsw_splintr)
-       dmfc0   ta1, RMIXL_COP_0_EIRR           # get active interrupts
+       dmfc0   ta1, MIPS_COP_0_EIRR            # get active interrupts
                                                # restrict to hard int bits:
        and     v1, ta1, RMIXL_SOFT_INT_MASK    #  v1 = ta1 & ~RMIXL_SOFT_INT_MASK
        xor     v1, ta1                         #   "       "
@@ -309,7 +307,7 @@
        PTR_L   t0, L_CPU(MIPS_CURLWP)
        INT_L   t1, CPU_INFO_CPL(t0)            # get current priority level
 
-       dmfc0   t0, RMIXL_COP_0_EIMR            # get current EIMR
+       dmfc0   t0, MIPS_COP_0_EIMR             # get current EIMR
 
        PTR_LA  t2, _C_LABEL(ipl_eimr_map)
        sll     t1, MAP_SCALESHIFT              # shift cpl to array index
diff -r 288a784c36ea -r dfe7eb1b037b sys/arch/mips/rmi/rmixl_subr.S
--- a/sys/arch/mips/rmi/rmixl_subr.S    Sun Jul 26 07:47:27 2020 +0000
+++ b/sys/arch/mips/rmi/rmixl_subr.S    Sun Jul 26 07:48:07 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: rmixl_subr.S,v 1.6 2015/06/07 08:03:10 matt Exp $      */
+/*     $NetBSD: rmixl_subr.S,v 1.7 2020/07/26 07:48:07 simonb Exp $    */
 
 /*-
  * Copyright (c) 2010 The NetBSD Foundation, Inc.
@@ -37,13 +37,10 @@
 #include <mips/asm.h>
 #include <mips/cpuregs.h>
 
-RCSID("$NetBSD: rmixl_subr.S,v 1.6 2015/06/07 08:03:10 matt Exp $");
+RCSID("$NetBSD: rmixl_subr.S,v 1.7 2020/07/26 07:48:07 simonb Exp $");
 
 #include "assym.h"
 
-#define RMIXL_COP_0_EIRR       _(9), 6
-#define RMIXL_COP_0_EIMR       _(9), 7
-
        .set    noreorder
        .set    arch=xlr
        .text
@@ -83,14 +80,14 @@
  *     clobbered by the EIRR read-modify-write 
  */
 LEAF(rmixl_eirr_ack)
-       dmtc0   zero, RMIXL_COP_0_EIMR  /* EIMR = 0 */
+       dmtc0   zero, MIPS_COP_0_EIMR   /* EIMR = 0 */
        COP0_SYNC
-       dmfc0   a3, RMIXL_COP_0_EIRR    /* a3 = EIRR */
+       dmfc0   a3, MIPS_COP_0_EIRR     /* a3 = EIRR */
        and     a3, a2                  /* a3 &= preserve */
        or      a3, a1                  /* a3 |= vecbit */
-       dmtc0   a3, RMIXL_COP_0_EIRR    /* EIRR = a3 */
+       dmtc0   a3, MIPS_COP_0_EIRR     /* EIRR = a3 */
        COP0_SYNC
-       dmtc0   a0, RMIXL_COP_0_EIMR    /* EIMR = eimr */
+       dmtc0   a0, MIPS_COP_0_EIMR     /* EIMR = eimr */
        JR_HB_RA
 END(rmixl_eirr_ack)
 
@@ -144,7 +141,7 @@
        li              t0, 0
 #endif
 
-       mtc0            zero, RMIXL_COP_0_EIMR  /* disable all in MIPS_COP_0_EIMR */
+       mtc0            zero, MIPS_COP_0_EIMR   /* disable all in MIPS_COP_0_EIMR */
 
        mtc0            t0, MIPS_COP_0_STATUS
 



Home | Main Index | Thread Index | Old Index