if (!(pv = pmap_find_pv(pa)))
if (!(pv = pmap_find_pv(pa)) || !pv->pv_pmap)
pmap_clear_pv(paddr_t pa, struct pv_entry *cpv){	struct pv_entry *pv;	int s;#ifdef PMAPDEBUG	if (pmapdebug & PDB_FOLLOW && pmapdebug & PDB_PV)		printf("pmap_clear_pv(%x,%p)\n", pa, cpv);#endif	if (!(pv = pmap_find_pv(pa)))		return;	s = splimp();	for (; pv; pv = pv->pv_next) {		if (pv == cpv)			continue;		/*		 * have to clear the icache first since fic uses the dtlb.		 */		ficache(pv->pv_space, pv->pv_va, NBPG);		pitlb(pv->pv_space, pv->pv_va);		fdcache(pv->pv_space, pv->pv_va, NBPG);		pdtlb(pv->pv_space, pv->pv_va);		pmap_clear_va(pv->pv_space, pv->pv_va);	}	splx(s);}