Changeset View
Changeset View
Standalone View
Standalone View
sys/i386/i386/pmap.c
Show First 20 Lines • Show All 5,755 Lines • ▼ Show 20 Lines | __CONCAT(PMTYPE, mincore)(pmap_t pmap, vm_offset_t addr, vm_paddr_t *pap) | ||||
PMAP_LOCK(pmap); | PMAP_LOCK(pmap); | ||||
pde = *pmap_pde(pmap, addr); | pde = *pmap_pde(pmap, addr); | ||||
if (pde != 0) { | if (pde != 0) { | ||||
if ((pde & PG_PS) != 0) { | if ((pde & PG_PS) != 0) { | ||||
pte = pde; | pte = pde; | ||||
/* Compute the physical address of the 4KB page. */ | /* Compute the physical address of the 4KB page. */ | ||||
pa = ((pde & PG_PS_FRAME) | (addr & PDRMASK)) & | pa = ((pde & PG_PS_FRAME) | (addr & PDRMASK)) & | ||||
PG_FRAME; | PG_FRAME; | ||||
val = MINCORE_SUPER; | val = MINCORE_PSIND(1); | ||||
} else { | } else { | ||||
pte = pmap_pte_ufast(pmap, addr, pde); | pte = pmap_pte_ufast(pmap, addr, pde); | ||||
pa = pte & PG_FRAME; | pa = pte & PG_FRAME; | ||||
val = 0; | val = 0; | ||||
} | } | ||||
} else { | } else { | ||||
pte = 0; | pte = 0; | ||||
pa = 0; | pa = 0; | ||||
▲ Show 20 Lines • Show All 642 Lines • Show Last 20 Lines |