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

Function pmap_remove_page

freebsd/arm/arm/pmap-v6.c:4140–4153  ·  view source on GitHub ↗

* Remove a single page from a process address space. */

Source from the content-addressed store, hash-verified

4138 * Remove a single page from a process address space.
4139 */
4140static void
4141pmap_remove_page(pmap_t pmap, vm_offset_t va, struct spglist *free)
4142{
4143 pt2_entry_t *pte2p;
4144
4145 rw_assert(&pvh_global_lock, RA_WLOCKED);
4146 KASSERT(curthread->td_pinned > 0,
4147 ("%s: curthread not pinned", __func__));
4148 PMAP_LOCK_ASSERT(pmap, MA_OWNED);
4149 if ((pte2p = pmap_pte2_quick(pmap, va)) == NULL ||
4150 !pte2_is_valid(pte2_load(pte2p)))
4151 return;
4152 pmap_remove_pte2(pmap, pte2p, va, free);
4153}
4154
4155/*
4156 * Remove the given range of addresses from the specified map.

Callers 1

pmap_removeFunction · 0.70

Calls 4

pmap_pte2_quickFunction · 0.85
pte2_is_validFunction · 0.85
pte2_loadFunction · 0.85
pmap_remove_pte2Function · 0.85

Tested by

no test coverage detected