Changeset View
Changeset View
Standalone View
Standalone View
sys/amd64/amd64/pmap.c
- This file is larger than 256 KB, so syntax highlighting is disabled by default.
Show First 20 Lines • Show All 10,563 Lines • ▼ Show 20 Lines | for (j = pmap_pdpe_index(sva); j < NPDPEPG; j++) { | ||||
if ((pdpe & X86_PG_V) == 0) { | if ((pdpe & X86_PG_V) == 0) { | ||||
sva = rounddown2(sva, NBPDP); | sva = rounddown2(sva, NBPDP); | ||||
sysctl_kmaps_dump(sb, &range, sva); | sysctl_kmaps_dump(sb, &range, sva); | ||||
sva += NBPDP; | sva += NBPDP; | ||||
continue; | continue; | ||||
} | } | ||||
pa = pdpe & PG_FRAME; | pa = pdpe & PG_FRAME; | ||||
if (PMAP_ADDRESS_IN_LARGEMAP(sva) && | if (PMAP_ADDRESS_IN_LARGEMAP(sva) && | ||||
vm_phys_paddr_to_vm_page(pa) == NULL) | vm_phys_paddr_to_vm_page(pa, NULL) == NULL) | ||||
goto restart; | goto restart; | ||||
if ((pdpe & PG_PS) != 0) { | if ((pdpe & PG_PS) != 0) { | ||||
sva = rounddown2(sva, NBPDP); | sva = rounddown2(sva, NBPDP); | ||||
sysctl_kmaps_check(sb, &range, sva, pml4e, pdpe, | sysctl_kmaps_check(sb, &range, sva, pml4e, pdpe, | ||||
0, 0); | 0, 0); | ||||
range.pdpes++; | range.pdpes++; | ||||
sva += NBPDP; | sva += NBPDP; | ||||
continue; | continue; | ||||
} | } | ||||
pd = (pd_entry_t *)PHYS_TO_DMAP(pa); | pd = (pd_entry_t *)PHYS_TO_DMAP(pa); | ||||
for (k = pmap_pde_index(sva); k < NPDEPG; k++) { | for (k = pmap_pde_index(sva); k < NPDEPG; k++) { | ||||
pde = pd[k]; | pde = pd[k]; | ||||
if ((pde & X86_PG_V) == 0) { | if ((pde & X86_PG_V) == 0) { | ||||
sva = rounddown2(sva, NBPDR); | sva = rounddown2(sva, NBPDR); | ||||
sysctl_kmaps_dump(sb, &range, sva); | sysctl_kmaps_dump(sb, &range, sva); | ||||
sva += NBPDR; | sva += NBPDR; | ||||
continue; | continue; | ||||
} | } | ||||
pa = pde & PG_FRAME; | pa = pde & PG_FRAME; | ||||
if (PMAP_ADDRESS_IN_LARGEMAP(sva) && | if (PMAP_ADDRESS_IN_LARGEMAP(sva) && | ||||
vm_phys_paddr_to_vm_page(pa) == NULL) | vm_phys_paddr_to_vm_page(pa, NULL) == NULL) | ||||
goto restart; | goto restart; | ||||
if ((pde & PG_PS) != 0) { | if ((pde & PG_PS) != 0) { | ||||
sva = rounddown2(sva, NBPDR); | sva = rounddown2(sva, NBPDR); | ||||
sysctl_kmaps_check(sb, &range, sva, | sysctl_kmaps_check(sb, &range, sva, | ||||
pml4e, pdpe, pde, 0); | pml4e, pdpe, pde, 0); | ||||
range.pdes++; | range.pdes++; | ||||
sva += NBPDR; | sva += NBPDR; | ||||
continue; | continue; | ||||
▲ Show 20 Lines • Show All 84 Lines • Show Last 20 Lines |