Changeset View
Changeset View
Standalone View
Standalone View
vm_page.c
Show First 20 Lines • Show All 827 Lines • ▼ Show 20 Lines | for (i = 0; phys_avail[i + 1] != 0; i += 2) { | ||||
seg->end > phys_avail[i + 1]) | seg->end > phys_avail[i + 1]) | ||||
continue; | continue; | ||||
m = seg->first_page; | m = seg->first_page; | ||||
pagecount = (u_long)atop(seg->end - seg->start); | pagecount = (u_long)atop(seg->end - seg->start); | ||||
vmd = VM_DOMAIN(seg->domain); | vmd = VM_DOMAIN(seg->domain); | ||||
vm_domain_free_lock(vmd); | vm_domain_free_lock(vmd); | ||||
vm_phys_free_contig(m, pagecount); | vm_phys_enqueue_contig(m, pagecount); | ||||
vm_domain_free_unlock(vmd); | vm_domain_free_unlock(vmd); | ||||
vm_domain_freecnt_inc(vmd, pagecount); | vm_domain_freecnt_inc(vmd, pagecount); | ||||
vm_cnt.v_page_count += (u_int)pagecount; | vm_cnt.v_page_count += (u_int)pagecount; | ||||
vmd = VM_DOMAIN(seg->domain); | vmd = VM_DOMAIN(seg->domain); | ||||
vmd->vmd_page_count += (u_int)pagecount; | vmd->vmd_page_count += (u_int)pagecount; | ||||
vmd->vmd_segs |= 1UL << m->segind; | vmd->vmd_segs |= 1UL << m->segind; | ||||
break; | break; | ||||
▲ Show 20 Lines • Show All 3,704 Lines • Show Last 20 Lines |