Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/mips Abandon {mips1, mips3}_TBRPL()s which have litt...



details:   https://anonhg.NetBSD.org/src/rev/1c08ddfaab79
branches:  trunk
changeset: 493850:1c08ddfaab79
user:      nisimura <nisimura%NetBSD.org@localhost>
date:      Mon Jun 26 02:55:45 2000 +0000

description:
Abandon {mips1,mips3}_TBRPL()s which have little gain.  They were
expected to be better than MachTLBUpdate(). After all, TLBUpdate()
is rather harmful and should be replaced with TBIS().

diffstat:

 sys/arch/mips/include/locore.h    |   8 +----
 sys/arch/mips/mips/locore_mips1.S |  30 +-------------------
 sys/arch/mips/mips/locore_mips3.S |  57 +--------------------------------------
 sys/arch/mips/mips/mips_machdep.c |   6 +--
 4 files changed, 5 insertions(+), 96 deletions(-)

diffs (206 lines):

diff -r d1067adcf63e -r 1c08ddfaab79 sys/arch/mips/include/locore.h
--- a/sys/arch/mips/include/locore.h    Mon Jun 26 02:42:10 2000 +0000
+++ b/sys/arch/mips/include/locore.h    Mon Jun 26 02:55:45 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: locore.h,v 1.36 2000/06/20 05:54:03 soda Exp $ */
+/*     $NetBSD: locore.h,v 1.37 2000/06/26 02:55:45 nisimura Exp $     */
 
 /*
  * Copyright 1996 The Board of Trustees of The Leland Stanford
@@ -55,7 +55,6 @@
 void mips1_TBIA __P((int));
 void mips1_TBIAP __P((int));
 void mips1_TBIS __P((vaddr_t));
-void mips1_TBRPL __P((vaddr_t, vaddr_t, unsigned int));
 int mips1_TLBUpdate __P((u_int, u_int));
 
 void mips1_wbflush __P((void));
@@ -72,7 +71,6 @@
 void mips3_TBIA __P((int));
 void mips3_TBIAP __P((int));
 void mips3_TBIS __P((vaddr_t));
-void mips3_TBRPL __P((vaddr_t, vaddr_t, unsigned int));
 int mips3_TLBUpdate __P((u_int, u_int));
 struct tlb;
 void mips3_TLBRead __P((int, struct tlb *));
@@ -108,7 +106,6 @@
        void (*setTLBpid)  __P((int pid));
        void (*TBIAP)   __P((int));
        void (*TBIS)    __P((vaddr_t));
-       void (*TBRPL)   __P((vaddr_t, vaddr_t, unsigned int));
        int  (*tlbUpdate)  __P((u_int highreg, u_int lowreg));
        void (*wbflush) __P((void));
 } mips_locore_jumpvec_t;
@@ -152,7 +149,6 @@
 #define MachSetPID             mips3_SetPID
 #define MIPS_TBIAP()           mips3_TBIAP(mips_num_tlb_entries)
 #define MIPS_TBIS              mips3_TBIS
-#define MIPS_TBRPL             mips3_TBRPL
 #define MachTLBUpdate          mips3_TLBUpdate
 #define wbflush()              mips3_wbflush()
 #define proc_trampoline                mips3_proc_trampoline
@@ -165,7 +161,6 @@
 #define MachSetPID             mips1_SetPID
 #define MIPS_TBIAP()           mips1_TBIAP(mips_num_tlb_entries)
 #define MIPS_TBIS              mips1_TBIS
-#define MIPS_TBRPL             mips1_TBRPL
 #define MachTLBUpdate          mips1_TLBUpdate
 #define wbflush()              mips1_wbflush()
 #define proc_trampoline                mips1_proc_trampoline
@@ -180,7 +175,6 @@
 #define MachSetPID             (*(mips_locore_jumpvec.setTLBpid))
 #define MIPS_TBIAP()           (*(mips_locore_jumpvec.TBIAP))(mips_num_tlb_entries)
 #define MIPS_TBIS              (*(mips_locore_jumpvec.TBIS))
-#define MIPS_TBRPL             (*(mips_locore_jumpvec.TBRPL))
 #define MachTLBUpdate          (*(mips_locore_jumpvec.tlbUpdate))
 #define MachHitFlushDCache     mips3_HitFlushDCache
 #define wbflush()              (*(mips_locore_jumpvec.wbflush))()
diff -r d1067adcf63e -r 1c08ddfaab79 sys/arch/mips/mips/locore_mips1.S
--- a/sys/arch/mips/mips/locore_mips1.S Mon Jun 26 02:42:10 2000 +0000
+++ b/sys/arch/mips/mips/locore_mips1.S Mon Jun 26 02:55:45 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: locore_mips1.S,v 1.34 2000/05/29 23:40:04 simonb Exp $ */
+/*     $NetBSD: locore_mips1.S,v 1.35 2000/06/26 02:55:46 nisimura Exp $       */
 
 /*
  * Copyright (c) 1992, 1993
@@ -1660,34 +1660,6 @@
        mtc0    v1, MIPS_COP_0_STATUS           # restore status register
        END(mips1_TBIA)
 
-/*
- * void mips1_TBRPL(vpn1, vpn2, pte)
- *     probe TLB entry which has vpn1 address; if found, have it new
- *     entryHi and entryLo pair of [vpn2, pte]
- */
-LEAF(mips1_TBRPL)
-       mfc0    v1, MIPS_COP_0_STATUS
-       mtc0    zero, MIPS_COP_0_STATUS
-       mfc0    v0, MIPS_COP_0_TLB_HI
-       nop
-       mtc0    a0, MIPS_COP_0_TLB_HI
-       nop
-       tlbp
-       mfc0    t0, MIPS_COP_0_TLB_INDEX
-       nop
-       bltz    t0, 1f
-       nop
-       or      a2, a2, MIPS1_PG_G
-       mtc0    a1, MIPS_COP_0_TLB_HI
-       mtc0    a2, MIPS_COP_0_TLB_LOW
-       nop
-       tlbwi
-1:
-       mtc0    v0, MIPS_COP_0_TLB_HI
-       j       ra
-       mtc0    v1, MIPS_COP_0_STATUS
-       END(mips1_TBRPL)
-
        .data
 
        .globl _C_LABEL(mips1_locoresw)
diff -r d1067adcf63e -r 1c08ddfaab79 sys/arch/mips/mips/locore_mips3.S
--- a/sys/arch/mips/mips/locore_mips3.S Mon Jun 26 02:42:10 2000 +0000
+++ b/sys/arch/mips/mips/locore_mips3.S Mon Jun 26 02:55:45 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: locore_mips3.S,v 1.37 2000/06/21 19:39:32 soren Exp $  */
+/*     $NetBSD: locore_mips3.S,v 1.38 2000/06/26 02:55:47 nisimura Exp $       */
 
 /*
  * Copyright (c) 1997 Jonathan Stone (hereinafter referred to as the author)
@@ -2389,61 +2389,6 @@
        mtc0    v1, MIPS_COP_0_STATUS           # restore status register
        END(mips3_TBIA)
 
-/*
- * void mips3_TBRPL(vpn1, vpn2, pte)
- *     probe TLB entry which has vpn1 address; if found, have it new
- *     entryHi and entryLo[01] pair as [vpn2, pte]
- */
-LEAF_NOPROFILE(mips3_TBRPL)
-       mfc0    v1, MIPS_COP_0_STATUS
-       mtc0    zero, MIPS_COP_0_STATUS
-       dmfc0   v0, MIPS_COP_0_TLB_HI
-       li      t0, (MIPS3_PG_HVPN | MIPS3_PG_ASID)
-       and     a0, a0, t0
-       dmtc0   a0, MIPS_COP_0_TLB_HI
-       nop
-       nop
-       tlbp
-       nop
-       nop
-       mfc0    t1, MIPS_COP_0_TLB_INDEX
-       nop
-       nop
-       bltz    t1, 9f
-       nop
-       tlbr
-       #nop
-       #nop
-       and     t1, a1, MIPS3_PG_ODDPG
-       and     a1, a1, t0
-       dsll    a2, a2, 34
-       dsrl    a2, a2, 34
-       or      a2, a2, MIPS3_PG_G
-       li      a0, MIPS3_PG_G
-       bnez    t1, 1f
-       nop
-0: #EVEN
-       dmtc0   a1, MIPS_COP_0_TLB_HI
-       dmtc0   a2, MIPS_COP_0_TLB_LO0
-       dmtc0   a0, MIPS_COP_0_TLB_LO1
-       b       2f
-       nop
-1: #ODD
-       dmtc0   a1, MIPS_COP_0_TLB_HI
-       dmtc0   a0, MIPS_COP_0_TLB_LO0
-       dmtc0   a2, MIPS_COP_0_TLB_LO1
-       nop
-       nop
-2:
-       tlbwi
-       nop
-       nop
-9:
-       dmtc0   v0, MIPS_COP_0_TLB_HI
-       j       ra
-       mtc0    v1, MIPS_COP_0_STATUS
-       END(mips3_TBRPL)
-
 LEAF(mips3_Set64bit)
        mfc0    v0, MIPS_COP_0_STATUS
        lui     v1, (MIPS3_SR_XX >> 16)
diff -r d1067adcf63e -r 1c08ddfaab79 sys/arch/mips/mips/mips_machdep.c
--- a/sys/arch/mips/mips/mips_machdep.c Mon Jun 26 02:42:10 2000 +0000
+++ b/sys/arch/mips/mips/mips_machdep.c Mon Jun 26 02:55:45 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: mips_machdep.c,v 1.90 2000/06/17 06:38:25 cgd Exp $    */
+/*     $NetBSD: mips_machdep.c,v 1.91 2000/06/26 02:55:47 nisimura Exp $       */
 
 /*-
  * Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -52,7 +52,7 @@
 
 #include <sys/cdefs.h>                 /* RCS ID & Copyright macro defns */
 
-__KERNEL_RCSID(0, "$NetBSD: mips_machdep.c,v 1.90 2000/06/17 06:38:25 cgd Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mips_machdep.c,v 1.91 2000/06/26 02:55:47 nisimura Exp $");
 
 #include "opt_compat_netbsd.h"
 #include "opt_compat_ultrix.h"
@@ -139,7 +139,6 @@
        mips1_SetPID,
        mips1_TBIAP,
        mips1_TBIS,
-       mips1_TBRPL,
        mips1_TLBUpdate,
        mips1_wbflush,
 };
@@ -187,7 +186,6 @@
        mips3_SetPID,
        mips3_TBIAP,
        mips3_TBIS,
-       mips3_TBRPL,
        mips3_TLBUpdate,
        mips3_wbflush,
 };



Home | Main Index | Thread Index | Old Index