| 4264 | } |
| 4265 | |
| 4266 | static void |
| 4267 | pmap_allocpte_free_unref(pmap_t pmap, vm_offset_t va, pt_entry_t *pte) |
| 4268 | { |
| 4269 | vm_page_t mpg; |
| 4270 | struct spglist free; |
| 4271 | |
| 4272 | mpg = PHYS_TO_VM_PAGE(*pte & PG_FRAME); |
| 4273 | if (mpg->ref_count != 0) |
| 4274 | return; |
| 4275 | SLIST_INIT(&free); |
| 4276 | _pmap_unwire_ptp(pmap, va, mpg, &free); |
| 4277 | pmap_invalidate_page(pmap, va); |
| 4278 | vm_page_free_pages_toq(&free, true); |
| 4279 | } |
| 4280 | |
| 4281 | static pml4_entry_t * |
| 4282 | pmap_allocpte_getpml4(pmap_t pmap, struct rwlock **lockp, vm_offset_t va, |
no test coverage detected