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 11,832 Lines • ▼ Show 20 Lines | for (j = pmap_pdpe_index(sva); j < NPDPEPG; j++) { | ||||
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; | ||||
} | } | ||||
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) { | ||||
/* | /* | ||||
* Page table pages for the large map may be | * Page table pages for the large map may be | ||||
* freed. Validate the next-level address | * freed. Validate the next-level address | ||||
* before descending. | * before descending. | ||||
*/ | */ | ||||
goto restart; | goto restart; | ||||
} | } | ||||
pd = (pd_entry_t *)PHYS_TO_DMAP(pa); | pd = (pd_entry_t *)PHYS_TO_DMAP(pa); | ||||
Show All 11 Lines | for (j = pmap_pdpe_index(sva); j < NPDPEPG; j++) { | ||||
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; | ||||
} | } | ||||
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) { | |||||
/* | /* | ||||
* Page table pages for the large map | * Page table pages for the large map | ||||
* may be freed. Validate the | * may be freed. Validate the | ||||
* next-level address before descending. | * next-level address before descending. | ||||
*/ | */ | ||||
goto restart; | goto restart; | ||||
} | } | ||||
pt = (pt_entry_t *)PHYS_TO_DMAP(pa); | pt = (pt_entry_t *)PHYS_TO_DMAP(pa); | ||||
▲ Show 20 Lines • Show All 186 Lines • Show Last 20 Lines |