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 9,007 Lines • ▼ Show 20 Lines | for (; sva < eva; sva = va_next) { | ||||
} | } | ||||
va_next = (sva + NBPDP) & ~PDPMASK; | va_next = (sva + NBPDP) & ~PDPMASK; | ||||
if (va_next < sva) | if (va_next < sva) | ||||
va_next = eva; | va_next = eva; | ||||
pdpe = pmap_pml4e_to_pdpe(pml4e, sva); | pdpe = pmap_pml4e_to_pdpe(pml4e, sva); | ||||
if ((*pdpe & PG_V) == 0) | if ((*pdpe & PG_V) == 0) | ||||
continue; | continue; | ||||
if ((*pdpe & PG_PS) != 0) { | if ((*pdpe & PG_PS) != 0) | ||||
KASSERT(va_next <= eva, | |||||
("partial update of non-transparent 1G mapping " | |||||
"pdpe %#lx sva %#lx eva %#lx va_next %#lx", | |||||
*pdpe, sva, eva, va_next)); | |||||
continue; | continue; | ||||
} | |||||
va_next = (sva + NBPDR) & ~PDRMASK; | va_next = (sva + NBPDR) & ~PDRMASK; | ||||
if (va_next < sva) | if (va_next < sva) | ||||
va_next = eva; | va_next = eva; | ||||
pde = pmap_pdpe_to_pde(pdpe, sva); | pde = pmap_pdpe_to_pde(pdpe, sva); | ||||
oldpde = *pde; | oldpde = *pde; | ||||
if ((oldpde & PG_V) == 0) | if ((oldpde & PG_V) == 0) | ||||
continue; | continue; | ||||
▲ Show 20 Lines • Show All 3,062 Lines • Show Last 20 Lines |