Remove unused code: getptesw4m(),setptesw4m()

This commit is contained in:
pk 2000-05-02 10:35:06 +00:00
parent 716a862d08
commit d46e0d77c0

View File

@ -1,4 +1,4 @@
/* $NetBSD: pmap.c,v 1.160 2000/05/01 15:19:46 pk Exp $ */
/* $NetBSD: pmap.c,v 1.161 2000/05/02 10:35:06 pk Exp $ */
/*
* Copyright (c) 1996
@ -420,8 +420,6 @@ static u_long segfixmask = 0xffffffff; /* all bits valid to start */
#if defined(SUN4M)
void setpgt4m __P((int *ptep, int pte));
void setpte4m __P((vaddr_t va, int pte));
void setptesw4m __P((struct pmap *pm, vaddr_t va, int pte));
static u_int getptesw4m __P((struct pmap *pm, vaddr_t va));
#endif
/* Function pointer messiness for supporting multiple sparc architectures
@ -576,39 +574,6 @@ VA2PA(addr)
#endif
}
/*
* Get the page table entry (PTE) for va by looking it up in the software
* page tables. These are the same tables that are used by the MMU; this
* routine allows easy access to the page tables even if the context
* corresponding to the table is not loaded or selected.
* This routine should NOT be used if there is any chance that the desired
* pte is in the TLB cache, since it will return stale data in that case.
* For that case, and for general use, use getpte4m, which is much faster
* and avoids walking in-memory page tables if the page is in the cache.
* Note also that this routine only works if a kernel mapping has been
* installed for the given page!
*/
__inline u_int
getptesw4m(pm, va) /* Assumes L3 mapping! */
struct pmap *pm;
vaddr_t va;
{
struct regmap *rm;
struct segmap *sm;
rm = &pm->pm_regmap[VA_VREG(va)];
#ifdef DEBUG
if (rm == NULL)
panic("getptesw4m: no regmap entry");
#endif
sm = &rm->rg_segmap[VA_VSEG(va)];
#ifdef DEBUG
if (sm == NULL)
panic("getptesw4m: no segmap");
#endif
return (sm->sg_pte[VA_SUN4M_VPG(va)]); /* return pte */
}
__inline void
setpgt4m(ptep, pte)
int *ptep;
@ -622,37 +587,6 @@ setpgt4m(ptep, pte)
#endif
}
/*
* Set the page table entry for va to pte. Only affects software MMU page-
* tables (the in-core pagetables read by the MMU). Ignores TLB, and
* thus should _not_ be called if the pte translation could be in the TLB.
* In this case, use setpte4m().
*/
__inline void
setptesw4m(pm, va, pte)
struct pmap *pm;
vaddr_t va;
int pte;
{
struct regmap *rm;
struct segmap *sm;
rm = &pm->pm_regmap[VA_VREG(va)];
#ifdef DEBUG
if (pm->pm_regmap == NULL || rm == NULL)
panic("setptesw4m: no regmap entry");
#endif
sm = &rm->rg_segmap[VA_VSEG(va)];
#ifdef DEBUG
if (rm->rg_segmap == NULL || sm == NULL || sm->sg_pte == NULL)
panic("setptesw4m: no segmap for va %p", (caddr_t)va);
#endif
setpgt4m(sm->sg_pte + VA_SUN4M_VPG(va), pte);
}
/* Set the page table entry for va to pte. */
__inline void
setpte4m(va, pte)
@ -4164,7 +4098,9 @@ pmap_rmk4m(pm, va, endva, vr, vs)
if ((nleft = sp->sg_npte) == 0)
return;
#ifdef DEBUG
#ifdef DIAGNOSTIC
if (va < virtual_avail)
panic("pmap_rmk4m: attempt to free base kernel addr %lx", va);
if (sp->sg_pte == NULL || rp->rg_seg_ptps == NULL)
panic("pmap_rmk: segment/region does not exist");
if (pm->pm_ctx == NULL)
@ -4217,34 +4153,10 @@ pmap_rmk4m(pm, va, endva, vr, vs)
va += NBPG;
}
/*
* If the segment is all gone, remove it from everyone and
* flush the TLB.
*/
if ((sp->sg_npte = nleft) == 0) {
va = VSTOVA(vr,vs); /* retract */
tlb_flush_segment(vr, vs); /* Paranoia? */
/*
* We need to free the segment table. The problem is that
* we can't free the initial (bootstrap) mapping, so
* we have to explicitly check for this case (ugh).
*/
if (va < virtual_avail) {
#ifdef DEBUG
printf("pmap_rmk4m: attempt to free base kernel alloc\n");
#endif
/* sp->sg_pte = NULL; */
sp->sg_npte = 0;
return;
}
/* no need to free the table; it is statically allocated */
qzero(sp->sg_pte, SRMMU_L3SIZE * sizeof(long));
}
/* if we're done with a region, leave it wired */
sp->sg_npte = nleft;
}
#endif /* SUN4M */
/*
* Just like pmap_rmk_magic, but we have a different threshold.
* Note that this may well deserve further tuning work.
@ -5046,12 +4958,6 @@ pmap_page_protect4m(pg, prot)
#endif
goto nextpv;
}
#if 0 /* no need for this */
/* no need to free the table; it is static */
qzero(sp->sg_pte, SRMMU_L3SIZE * sizeof(int));
#endif
/* if we're done with a region, leave it */
} else { /* User mode mapping */
if (pm->pm_ctx)