MCPcopy Create free account
hub / github.com/F-Stack/f-stack / pmap_abort_ptp

Function pmap_abort_ptp

freebsd/arm64/arm64/pmap.c:1736–1753  ·  view source on GitHub ↗

* Release a page table page reference after a failed attempt to create a * mapping. */

Source from the content-addressed store, hash-verified

1734 * mapping.
1735 */
1736static void
1737pmap_abort_ptp(pmap_t pmap, vm_offset_t va, vm_page_t mpte)
1738{
1739 struct spglist free;
1740
1741 SLIST_INIT(&free);
1742 if (pmap_unwire_l3(pmap, va, mpte, &free)) {
1743 /*
1744 * Although "va" was never mapped, the TLB could nonetheless
1745 * have intermediate entries that refer to the freed page
1746 * table pages. Invalidate those entries.
1747 *
1748 * XXX redundant invalidation (See _pmap_unwire_l3().)
1749 */
1750 pmap_invalidate_page(pmap, va);
1751 vm_page_free_pages_toq(&free, true);
1752 }
1753}
1754
1755void
1756pmap_pinit0(pmap_t pmap)

Callers 3

pmap_enter_l2Function · 0.70
pmap_enter_quick_lockedFunction · 0.70
pmap_copyFunction · 0.70

Calls 3

pmap_unwire_l3Function · 0.85
vm_page_free_pages_toqFunction · 0.85
pmap_invalidate_pageFunction · 0.70

Tested by

no test coverage detected