pte = (struct pte *)trunc_page(pte);
pte = (struct pte *)trunc_page((vaddr_t)pte);
pmap_decpteref(pmap, pte)	struct pmap *pmap;	struct pte *pte;{	paddr_t paddr;	int index;	if (pmap == pmap_kernel())		return;	index = ((vaddr_t)pte - (vaddr_t)pmap->pm_p0br) >> PGSHIFT;	pte = (struct pte *)trunc_page(pte);#ifdef PMAPDEBUG	if (startpmapdebug)		printf("pmap_decpteref: pmap %p pte %p index %d refcnt %d\n",		    pmap, pte, index, pmap->pm_refcnt[index]);#endif#ifdef DEBUG	if ((index < 0) || (index >= NPTEPGS))		panic("pmap_decpteref: bad index %d", index);#endif	pmap->pm_refcnt[index]--;#ifdef DEBUG	if (pmap->pm_refcnt[index] >= VAX_NBPG/sizeof(struct pte))		panic("pmap_decpteref");#endif	if (pmap->pm_refcnt[index] == 0) {		paddr = kvtopte(pte)->pg_pfn << VAX_PGSHIFT;		uvm_pagefree(PHYS_TO_VM_PAGE(paddr));		bzero(kvtopte(pte), sizeof(struct pte) * LTOHPN);	}}