s = splvm();
s = splpmap();
pv_flushcache(pv)	struct pvlist *pv;{	struct pmap *pm;	int s, ctx;	write_user_windows();	/* paranoia? */	s = splvm();		/* XXX extreme paranoia */	if ((pm = pv->pv_pmap) != NULL) {		ctx = getcontext();		for (;;) {			if (pm->pm_ctx) {				setcontext(pm->pm_ctxnum);				cache_flush_page(pv->pv_va);			}			pv = pv->pv_next;			if (pv == NULL)				break;			pm = pv->pv_pmap;		}		setcontext(ctx);	}	splx(s);}