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

Function pmap_kenter_device

freebsd/mips/mips/pmap.c:849–867  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

847}
848
849void
850pmap_kenter_device(vm_offset_t va, vm_size_t size, vm_paddr_t pa)
851{
852
853 KASSERT((size & PAGE_MASK) == 0,
854 ("%s: device mapping not page-sized", __func__));
855
856 for (; size > 0; size -= PAGE_SIZE) {
857 /*
858 * XXXCEM: this is somewhat inefficient on SMP systems in that
859 * every single page is individually TLB-invalidated via
860 * rendezvous (pmap_update_page()), instead of invalidating the
861 * entire range via a single rendezvous.
862 */
863 pmap_kenter_attr(va, pa, VM_MEMATTR_UNCACHEABLE);
864 va += PAGE_SIZE;
865 pa += PAGE_SIZE;
866 }
867}
868
869void
870pmap_kremove_device(vm_offset_t va, vm_size_t size)

Callers 2

devmap_bootstrapFunction · 0.50
pmap_mapdevFunction · 0.50

Calls 1

pmap_kenter_attrFunction · 0.70

Tested by

no test coverage detected