Source-Changes-HG archive

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

[src/netbsd-1-5]: src/sys/arch/sparc/sparc Pull up rev. 1.170 (pk):



details:   https://anonhg.NetBSD.org/src/rev/7fe44c3fe715
branches:  netbsd-1-5
changeset: 488253:7fe44c3fe715
user:      thorpej <thorpej%NetBSD.org@localhost>
date:      Sat Jun 24 23:58:56 2000 +0000

description:
Pull up rev. 1.170 (pk):
region_free: use correct index to invalidate a MMU region cookie in a pmap.
Remove work-around in pmap_enter(); the sun4/3-level MMU now works.

diffstat:

 sys/arch/sparc/sparc/pmap.c |  29 ++---------------------------
 1 files changed, 2 insertions(+), 27 deletions(-)

diffs (57 lines):

diff -r bd80f7b0ea06 -r 7fe44c3fe715 sys/arch/sparc/sparc/pmap.c
--- a/sys/arch/sparc/sparc/pmap.c       Sat Jun 24 23:53:09 2000 +0000
+++ b/sys/arch/sparc/sparc/pmap.c       Sat Jun 24 23:58:56 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: pmap.c,v 1.169 2000/06/19 21:06:32 pk Exp $ */
+/*     $NetBSD: pmap.c,v 1.169.2.1 2000/06/24 23:58:56 thorpej Exp $ */
 
 /*
  * Copyright (c) 1996
@@ -1545,7 +1545,7 @@
        /* take mmu entry off pmap chain */
        TAILQ_REMOVE(&pm->pm_reglist, me, me_pmchain);
        /* ... and remove from segment map */
-       pm->pm_regmap[smeg].rg_smeg = reginval;
+       pm->pm_regmap[me->me_vreg].rg_smeg = reginval;
 
        /* off LRU or lock chain */
        if (pm == pmap_kernel()) {
@@ -1594,11 +1594,6 @@
        printf("mmu_pagein: kernel wants map at va 0x%lx, vr %d, vs %d\n",
                (u_long)va, vr, vs);
 #endif
-#if 0
-#if defined(SUN4_MMU3L)
-printf("mmu_pagein: pm=%p, va 0x%x, vr %d, vs %d, rp=%p, segmap=%p\n", pm, va, vr, vs, rp, rp->rg_segmap);
-#endif
-#endif
 
        /* return 0 if we have no PMEGs to load */
        if (rp->rg_segmap == NULL)
@@ -5369,26 +5364,6 @@
                rp->rg_nsegmap = 0;
                for (i = NSEGRG; --i >= 0;)
                        sp++->sg_pmeg = seginval;
-
-#if defined(SUN4_MMU3L)
-/*
- * XXX - preallocate the region MMU cookies.
- * XXX - Doing this keeps the machine running for a while
- * XXX - Remove or alter this after dealing with the bugs...
- */
-               if (HASSUN4_MMU3L) {
-                       vaddr_t tva;
-                       rp->rg_smeg = region_alloc(&region_lru, pm, vr)->me_cookie;
-                       setregmap(va, rp->rg_smeg);
-
-                       tva = VA_ROUNDDOWNTOREG(va);
-                       for (i = 0; i < NSEGRG; i++) {
-                               setsegmap(tva, seginval);
-                               tva += NBPSG;
-                       };
-               }
-/* XXX  - end of work-around */
-#endif
        }
 
        sp = &rp->rg_segmap[vs];



Home | Main Index | Thread Index | Old Index