Changeset View
Changeset View
Standalone View
Standalone View
head/sys/riscv/riscv/pmap.c
Show First 20 Lines • Show All 1,147 Lines • ▼ Show 20 Lines | if (m->pindex < NUPDE) { | ||||
l1 = pmap_l1(pmap, va); | l1 = pmap_l1(pmap, va); | ||||
phys = PTE_TO_PHYS(pmap_load(l1)); | phys = PTE_TO_PHYS(pmap_load(l1)); | ||||
pdpg = PHYS_TO_VM_PAGE(phys); | pdpg = PHYS_TO_VM_PAGE(phys); | ||||
pmap_unwire_l3(pmap, va, pdpg, free); | pmap_unwire_l3(pmap, va, pdpg, free); | ||||
} | } | ||||
pmap_invalidate_page(pmap, va); | pmap_invalidate_page(pmap, va); | ||||
atomic_subtract_int(&vm_cnt.v_wire_count, 1); | vm_wire_sub(1); | ||||
/* | /* | ||||
* Put page on a list so that it is released after | * Put page on a list so that it is released after | ||||
* *ALL* TLB shootdown is done | * *ALL* TLB shootdown is done | ||||
*/ | */ | ||||
pmap_add_delayed_free_list(m, free, TRUE); | pmap_add_delayed_free_list(m, free, TRUE); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 2,113 Lines • Show Last 20 Lines |