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

Function pmap_invalidate_range

freebsd/amd64/amd64/pmap.c:3121–3140  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3119}
3120
3121void
3122pmap_invalidate_range(pmap_t pmap, vm_offset_t sva, vm_offset_t eva)
3123{
3124 if (eva - sva >= PMAP_INVLPG_THRESHOLD) {
3125 pmap_invalidate_all(pmap);
3126 return;
3127 }
3128
3129 if (pmap_type_guest(pmap)) {
3130 pmap_invalidate_ept(pmap);
3131 return;
3132 }
3133
3134 KASSERT(pmap->pm_type == PT_X86,
3135 ("pmap_invalidate_range: invalid type %d", pmap->pm_type));
3136
3137 pmap_invalidate_preipi(pmap);
3138 smp_masked_invlpg_range(pmap_invalidate_cpu_mask(pmap), sva, eva, pmap,
3139 pmap_invalidate_range_curcpu_cb);
3140}
3141
3142static inline void
3143pmap_invalidate_all_pcid_cb(pmap_t pmap, bool invpcid_works1)

Callers 10

pmap_invalidate_pde_pageFunction · 0.70
pmap_qenterFunction · 0.70
pmap_qremoveFunction · 0.70
pmap_remove_ptesFunction · 0.70
pmap_adviseFunction · 0.70
pmap_mapdev_internalFunction · 0.70
pmap_change_props_lockedFunction · 0.70
pmap_large_unmapFunction · 0.70
pmap_pti_remove_kvaFunction · 0.70
pmap_pkru_update_rangeFunction · 0.70

Calls 9

pmap_type_guestFunction · 0.85
pmap_invalidate_eptFunction · 0.85
pmap_invalidate_cpu_maskFunction · 0.85
invpcidFunction · 0.85
pmap_invalidate_allFunction · 0.70
smp_masked_invlpg_rangeFunction · 0.70
invlpgFunction · 0.50
critical_enterFunction · 0.50
critical_exitFunction · 0.50

Tested by

no test coverage detected