[BACK]Return to pmap.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / arch / sparc / sparc

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/arch/sparc/sparc/pmap.c between version 1.85 and 1.86

version 1.85, 1997/07/06 12:22:39 version 1.86, 1997/07/06 12:29:54
Line 1986  pv_changepte4_4c(pv0, bis, bic)
Line 1986  pv_changepte4_4c(pv0, bis, bic)
                                 tpte = getpte4(va);                                  tpte = getpte4(va);
                         }                          }
                         if (tpte & PG_V)                          if (tpte & PG_V)
                                 flags |= (tpte >> PG_M_SHIFT) & (PV_MOD|PV_REF);                                  flags |= MR4_4C(tpte);
                         tpte = (tpte | bis) & ~bic;                          tpte = (tpte | bis) & ~bic;
                         setpte4(va, tpte);                          setpte4(va, tpte);
                         if (pte != NULL)        /* update software copy */                          if (pte != NULL)        /* update software copy */
Line 2054  pv_syncflags4_4c(pv0)
Line 2054  pv_syncflags4_4c(pv0)
                         tpte = getpte4(va);                          tpte = getpte4(va);
                 }                  }
                 if (tpte & (PG_M|PG_U) && tpte & PG_V) {                  if (tpte & (PG_M|PG_U) && tpte & PG_V) {
                         flags |= (tpte >> PG_M_SHIFT) &                          flags |= MR4_4C(tpte);
                             (PV_MOD|PV_REF);  
                         tpte &= ~(PG_M|PG_U);                          tpte &= ~(PG_M|PG_U);
                         setpte4(va, tpte);                          setpte4(va, tpte);
                 }                  }
Line 2100  pv_unlink4_4c(pv, pm, va)
Line 2099  pv_unlink4_4c(pv, pm, va)
                         pv->pv_pmap = npv->pv_pmap;                          pv->pv_pmap = npv->pv_pmap;
                         pv->pv_va = npv->pv_va;                          pv->pv_va = npv->pv_va;
                         FREE(npv, M_VMPVENT);                          FREE(npv, M_VMPVENT);
                 } else                  } else {
                         pv->pv_pmap = NULL;                          pv->pv_pmap = NULL;
                           pv->pv_flags &= ~PV_NC;
                           return;
                   }
         } else {          } else {
                 register struct pvlist *prev;                  register struct pvlist *prev;
   
Line 2373  pv_unlink4m(pv, pm, va)
Line 2375  pv_unlink4m(pv, pm, va)
                         pv->pv_pmap = npv->pv_pmap;                          pv->pv_pmap = npv->pv_pmap;
                         pv->pv_va = npv->pv_va;                          pv->pv_va = npv->pv_va;
                         FREE(npv, M_VMPVENT);                          FREE(npv, M_VMPVENT);
                 } else                  } else {
                         pv->pv_pmap = NULL;                          pv->pv_pmap = NULL;
                           pv->pv_flags |= PV_C4M;
                           return;
                   }
         } else {          } else {
                 register struct pvlist *prev;                  register struct pvlist *prev;
   
Line 4727  pmap_page_protect4m(pa, prot)
Line 4732  pmap_page_protect4m(pa, prot)
                                 free(rp->rg_segmap, M_VMPMAP);                                  free(rp->rg_segmap, M_VMPMAP);
                                 rp->rg_segmap = NULL;                                  rp->rg_segmap = NULL;
                                 free(rp->rg_seg_ptps, M_VMPMAP);                                  free(rp->rg_seg_ptps, M_VMPMAP);
                                 setpgt4m(&pm->pm_reg_ptps[vr],                                  setpgt4m(&pm->pm_reg_ptps[vr], SRMMU_TEINVALID);
                                         SRMMU_TEINVALID);  
                         }                          }
                 }                  }
   

Legend:
Removed from v.1.85  
changed lines
  Added in v.1.86

CVSweb <webmaster@jp.NetBSD.org>