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

Function pmap_large_map_pdpe

freebsd/amd64/amd64/pmap.c:10113–10130  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

10111}
10112
10113static pdp_entry_t *
10114pmap_large_map_pdpe(vm_offset_t va)
10115{
10116 vm_pindex_t pml4_idx;
10117 vm_paddr_t mphys;
10118
10119 pml4_idx = pmap_pml4e_index(va);
10120 KASSERT(LMSPML4I <= pml4_idx && pml4_idx < LMSPML4I + lm_ents,
10121 ("pmap_large_map_pdpe: va %#jx out of range idx %#jx LMSPML4I "
10122 "%#jx lm_ents %d",
10123 (uintmax_t)va, (uintmax_t)pml4_idx, LMSPML4I, lm_ents));
10124 KASSERT((kernel_pml4[pml4_idx] & X86_PG_V) != 0,
10125 ("pmap_large_map_pdpe: invalid pml4 for va %#jx idx %#jx "
10126 "LMSPML4I %#jx lm_ents %d",
10127 (uintmax_t)va, (uintmax_t)pml4_idx, LMSPML4I, lm_ents));
10128 mphys = kernel_pml4[pml4_idx] & PG_FRAME;
10129 return ((pdp_entry_t *)PHYS_TO_DMAP(mphys) + pmap_pdpe_index(va));
10130}
10131
10132static pd_entry_t *
10133pmap_large_map_pde(vm_offset_t va)

Callers 5

pmap_large_map_pdeFunction · 0.85
pmap_large_map_kextractFunction · 0.85
pmap_large_mapFunction · 0.85
pmap_large_unmapFunction · 0.85
pmap_large_map_wb_largeFunction · 0.85

Calls 2

pmap_pml4e_indexFunction · 0.85
pmap_pdpe_indexFunction · 0.85

Tested by

no test coverage detected