struct vm_map_entry *entry, *temp_entry;
vm_map_entry_t entry, temp_entry;
uvm_map_advice(map, start, end, new_advice)	struct vm_map *map;	vaddr_t start;	vaddr_t end;	int new_advice;{	struct vm_map_entry *entry, *temp_entry;	UVMHIST_FUNC("uvm_map_advice"); UVMHIST_CALLED(maphist);	UVMHIST_LOG(maphist,"(map=0x%x,start=0x%x,end=0x%x,new_adv=0x%x)",	    map, start, end, new_advice);	vm_map_lock(map);	VM_MAP_RANGE_CHECK(map, start, end);	if (uvm_map_lookup_entry(map, start, &temp_entry)) {		entry = temp_entry;		UVM_MAP_CLIP_START(map, entry, start);	} else {		entry = temp_entry->next;	}	/*	 * XXXJRT: disallow holes?	 */	while ((entry != &map->header) && (entry->start < end)) {		UVM_MAP_CLIP_END(map, entry, end);		switch (new_advice) {		case MADV_NORMAL:		case MADV_RANDOM:		case MADV_SEQUENTIAL:			/* nothing special here */			break;		default:			vm_map_unlock(map);			UVMHIST_LOG(maphist,"<- done (INVALID ARG)",0,0,0,0);			return EINVAL;		}		entry->advice = new_advice;		entry = entry->next;	}	vm_map_unlock(map);	UVMHIST_LOG(maphist,"<- done (OK)",0,0,0,0);	return 0;}