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

Function devmap_vtop

freebsd/kern/subr_devmap.c:233–249  ·  view source on GitHub ↗

* Look up the given virtual address in the static mapping data and return the * corresponding physical address, or DEVMAP_PADDR_NOTFOUND if not found. */

Source from the content-addressed store, hash-verified

231 * corresponding physical address, or DEVMAP_PADDR_NOTFOUND if not found.
232 */
233vm_paddr_t
234devmap_vtop(void * vpva, vm_size_t size)
235{
236 const struct devmap_entry *pd;
237 vm_offset_t va;
238
239 if (devmap_table == NULL)
240 return (DEVMAP_PADDR_NOTFOUND);
241
242 va = (vm_offset_t)vpva;
243 for (pd = devmap_table; pd->pd_size != 0; ++pd) {
244 if (va >= pd->pd_va && va + size <= pd->pd_va + pd->pd_size)
245 return ((vm_paddr_t)(pd->pd_pa + (va - pd->pd_va)));
246 }
247
248 return (DEVMAP_PADDR_NOTFOUND);
249}
250
251/*
252 * Map a set of physical memory pages into the kernel virtual address space.

Callers 1

pmap_unmapdevFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected