struct vm_map *map;
vm_map_t map;
uvm_fault_unwire_locked(map, start, end)	struct vm_map *map;	vaddr_t start, end;{	struct vm_map_entry *entry;	pmap_t pmap = vm_map_pmap(map);	vaddr_t va;	paddr_t pa;	struct vm_page *pg;	KASSERT((map->flags & VM_MAP_INTRSAFE) == 0);	/*	 * we assume that the area we are unwiring has actually been wired	 * in the first place.   this means that we should be able to extract	 * the PAs from the pmap.   we also lock out the page daemon so that	 * we can call uvm_pageunwire.	 */	uvm_lock_pageq();	/*	 * find the beginning map entry for the region.	 */	KASSERT(start >= vm_map_min(map) && end <= vm_map_max(map));	if (uvm_map_lookup_entry(map, start, &entry) == FALSE)		panic("uvm_fault_unwire_locked: address not in map");	for (va = start; va < end ; va += PAGE_SIZE) {		if (pmap_extract(pmap, va, &pa) == FALSE)			panic("uvm_fault_unwire_locked: unwiring "			    "non-wired memory");		/*		 * make sure the current entry is for the address we're		 * dealing with.  if not, grab the next entry.		 */		KASSERT(va >= entry->start);		if (va >= entry->end) {			KASSERT(entry->next != &map->header &&				entry->next->start <= entry->end);			entry = entry->next;		}		/*		 * if the entry is no longer wired, tell the pmap.		 */		if (VM_MAPENT_ISWIRED(entry) == 0)			pmap_unwire(pmap, va);		pg = PHYS_TO_VM_PAGE(pa);		if (pg)			uvm_pageunwire(pg);	}	uvm_unlock_pageq();}