Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/mem/memdev.c
Show First 20 Lines • Show All 105 Lines • ▼ Show 20 Lines | case MEM_EXTRACT_PADDR: | ||||
map = &td->td_proc->p_vmspace->vm_map; | map = &td->td_proc->p_vmspace->vm_map; | ||||
vm_map_lock_read(map); | vm_map_lock_read(map); | ||||
if (vm_map_lookup_entry(map, me->me_vaddr, &entry)) { | if (vm_map_lookup_entry(map, me->me_vaddr, &entry)) { | ||||
me->me_paddr = pmap_extract( | me->me_paddr = pmap_extract( | ||||
&td->td_proc->p_vmspace->vm_pmap, me->me_vaddr); | &td->td_proc->p_vmspace->vm_pmap, me->me_vaddr); | ||||
if (me->me_paddr != 0) { | if (me->me_paddr != 0) { | ||||
me->me_state = ME_STATE_MAPPED; | me->me_state = ME_STATE_MAPPED; | ||||
me->me_domain = _vm_phys_domain(me->me_paddr); | me->me_domain = vm_phys_domain(me->me_paddr); | ||||
} else { | } else { | ||||
me->me_state = ME_STATE_VALID; | me->me_state = ME_STATE_VALID; | ||||
} | } | ||||
} else { | } else { | ||||
me->me_state = ME_STATE_INVALID; | me->me_state = ME_STATE_INVALID; | ||||
} | } | ||||
vm_map_unlock_read(map); | vm_map_unlock_read(map); | ||||
break; | break; | ||||
Show All 40 Lines |