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

Function PHYS_TO_VM_PAGE

freebsd/vm/vm_page.c:1222–1244  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1220}
1221
1222vm_page_t
1223PHYS_TO_VM_PAGE(vm_paddr_t pa)
1224{
1225 vm_page_t m;
1226
1227#ifdef VM_PHYSSEG_SPARSE
1228 m = vm_phys_paddr_to_vm_page(pa);
1229 if (m == NULL)
1230 m = vm_phys_fictitious_to_vm_page(pa);
1231 return (m);
1232#elif defined(VM_PHYSSEG_DENSE)
1233 long pi;
1234
1235 pi = atop(pa);
1236 if (pi >= first_page && (pi - first_page) < vm_page_array_size) {
1237 m = &vm_page_array[pi - first_page];
1238 return (m);
1239 }
1240 return (vm_phys_fictitious_to_vm_page(pa));
1241#else
1242#error "Either VM_PHYSSEG_DENSE or VM_PHYSSEG_SPARSE must be defined."
1243#endif
1244}
1245
1246/*
1247 * vm_page_getfake:

Callers 15

vtoslabFunction · 0.85
vtozoneslabFunction · 0.85
vsetzoneslabFunction · 0.85
XX_PhysToVirtFunction · 0.85
__CONCAT(PMTYPE, init)Function · 0.85
pmap_unuse_ptFunction · 0.85
pmap_allocpteFunction · 0.85
pmap_pv_reclaimFunction · 0.85
free_pv_chunkFunction · 0.85
pmap_pv_demote_pdeFunction · 0.85
pmap_pv_promote_pdeFunction · 0.85

Calls 2

vm_phys_paddr_to_vm_pageFunction · 0.85

Tested by

no test coverage detected