Make code more compact and readable better in pmap_extract()
like functions. No functional change. This is a follow up to r294722. Suggested by: kib
This commit is contained in:
parent
719d2f1ad5
commit
24152caa00
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=294789
@ -3446,14 +3446,10 @@ pmap_extract_locked(pmap_t pmap, vm_offset_t va)
|
||||
pte = ptep[l2pte_index(va)];
|
||||
if (pte == 0)
|
||||
return (0);
|
||||
switch (pte & L2_TYPE_MASK) {
|
||||
case L2_TYPE_L:
|
||||
if ((pte & L2_TYPE_MASK) == L2_TYPE_L)
|
||||
pa = (pte & L2_L_FRAME) | (va & L2_L_OFFSET);
|
||||
break;
|
||||
default:
|
||||
else
|
||||
pa = (pte & L2_S_FRAME) | (va & L2_S_OFFSET);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return (pa);
|
||||
}
|
||||
@ -3515,20 +3511,15 @@ pmap_extract_and_hold(pmap_t pmap, vm_offset_t va, vm_prot_t prot)
|
||||
PMAP_UNLOCK(pmap);
|
||||
return (NULL);
|
||||
} else {
|
||||
switch (pte & L2_TYPE_MASK) {
|
||||
case L2_TYPE_L:
|
||||
if ((pte & L2_TYPE_MASK) == L2_TYPE_L)
|
||||
panic("extract and hold section mapping");
|
||||
break;
|
||||
default:
|
||||
else
|
||||
pa = (pte & L2_S_FRAME) | (va & L2_S_OFFSET);
|
||||
break;
|
||||
}
|
||||
if (vm_page_pa_tryrelock(pmap, pa & PG_FRAME, &paddr))
|
||||
goto retry;
|
||||
m = PHYS_TO_VM_PAGE(pa);
|
||||
vm_page_hold(m);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
PMAP_UNLOCK(pmap);
|
||||
@ -3567,14 +3558,10 @@ pmap_dump_kextract(vm_offset_t va, pt2_entry_t *pte2p)
|
||||
pa = 0;
|
||||
goto out;
|
||||
}
|
||||
switch (pte & L2_TYPE_MASK) {
|
||||
case L2_TYPE_L:
|
||||
if ((pte & L2_TYPE_MASK) == L2_TYPE_L)
|
||||
pa = (pte & L2_L_FRAME) | (va & L2_L_OFFSET);
|
||||
break;
|
||||
default:
|
||||
else
|
||||
pa = (pte & L2_S_FRAME) | (va & L2_S_OFFSET);
|
||||
break;
|
||||
}
|
||||
}
|
||||
out:
|
||||
if (pte2p != NULL)
|
||||
|
@ -2787,18 +2787,14 @@ pmap_kremove(vm_offset_t va)
|
||||
pte = &l2b->l2b_kva[l2pte_index(va)];
|
||||
opte = *pte;
|
||||
if (l2pte_valid(opte)) {
|
||||
/* pa = vtophs(va) taken from pmap_extract() */
|
||||
switch (opte & L2_TYPE_MASK) {
|
||||
case L2_TYPE_L:
|
||||
/* pa = vtophs(va) taken from pmap_extract() */
|
||||
if ((opte & L2_TYPE_MASK) == L2_TYPE_L)
|
||||
pa = (opte & L2_L_FRAME) | (va & L2_L_OFFSET);
|
||||
break;
|
||||
default:
|
||||
else
|
||||
pa = (opte & L2_S_FRAME) | (va & L2_S_OFFSET);
|
||||
break;
|
||||
}
|
||||
/* note: should never have to remove an allocation
|
||||
* before the pvzone is initialized.
|
||||
*/
|
||||
/* note: should never have to remove an allocation
|
||||
* before the pvzone is initialized.
|
||||
*/
|
||||
rw_wlock(&pvh_global_lock);
|
||||
PMAP_LOCK(pmap_kernel());
|
||||
if (pvzone != NULL && (m = vm_phys_paddr_to_vm_page(pa)) &&
|
||||
@ -3645,14 +3641,10 @@ pmap_extract_locked(pmap_t pmap, vm_offset_t va)
|
||||
pte = ptep[l2pte_index(va)];
|
||||
if (pte == 0)
|
||||
return (0);
|
||||
switch (pte & L2_TYPE_MASK) {
|
||||
case L2_TYPE_L:
|
||||
if ((pte & L2_TYPE_MASK) == L2_TYPE_L)
|
||||
pa = (pte & L2_L_FRAME) | (va & L2_L_OFFSET);
|
||||
break;
|
||||
default:
|
||||
else
|
||||
pa = (pte & L2_S_FRAME) | (va & L2_S_OFFSET);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return (pa);
|
||||
}
|
||||
@ -3717,15 +3709,10 @@ pmap_extract_and_hold(pmap_t pmap, vm_offset_t va, vm_prot_t prot)
|
||||
return (NULL);
|
||||
}
|
||||
if (pte & L2_S_PROT_W || (prot & VM_PROT_WRITE) == 0) {
|
||||
switch (pte & L2_TYPE_MASK) {
|
||||
case L2_TYPE_L:
|
||||
if ((pte & L2_TYPE_MASK) == L2_TYPE_L)
|
||||
pa = (pte & L2_L_FRAME) | (va & L2_L_OFFSET);
|
||||
break;
|
||||
|
||||
default:
|
||||
else
|
||||
pa = (pte & L2_S_FRAME) | (va & L2_S_OFFSET);
|
||||
break;
|
||||
}
|
||||
if (vm_page_pa_tryrelock(pmap, pa & PG_FRAME, &paddr))
|
||||
goto retry;
|
||||
m = PHYS_TO_VM_PAGE(pa);
|
||||
@ -3769,14 +3756,10 @@ pmap_dump_kextract(vm_offset_t va, pt2_entry_t *pte2p)
|
||||
pa = 0;
|
||||
goto out;
|
||||
}
|
||||
switch (pte & L2_TYPE_MASK) {
|
||||
case L2_TYPE_L:
|
||||
if ((pte & L2_TYPE_MASK) == L2_TYPE_L)
|
||||
pa = (pte & L2_L_FRAME) | (va & L2_L_OFFSET);
|
||||
break;
|
||||
default:
|
||||
else
|
||||
pa = (pte & L2_S_FRAME) | (va & L2_S_OFFSET);
|
||||
break;
|
||||
}
|
||||
}
|
||||
out:
|
||||
if (pte2p != NULL)
|
||||
|
Loading…
Reference in New Issue
Block a user