Changeset View
Changeset View
Standalone View
Standalone View
sys/riscv/riscv/pmap.c
Show First 20 Lines • Show All 3,844 Lines • ▼ Show 20 Lines | |||||
* for prefault. | * for prefault. | ||||
*/ | */ | ||||
boolean_t | boolean_t | ||||
pmap_is_prefaultable(pmap_t pmap, vm_offset_t addr) | pmap_is_prefaultable(pmap_t pmap, vm_offset_t addr) | ||||
{ | { | ||||
pt_entry_t *l3; | pt_entry_t *l3; | ||||
boolean_t rv; | boolean_t rv; | ||||
/* | |||||
* Return TRUE if and only if the L3 entry for the specified virtual | |||||
* address is allocated but invalid. | |||||
*/ | |||||
rv = FALSE; | rv = FALSE; | ||||
PMAP_LOCK(pmap); | PMAP_LOCK(pmap); | ||||
l3 = pmap_l3(pmap, addr); | l3 = pmap_l3(pmap, addr); | ||||
if (l3 != NULL && pmap_load(l3) != 0) { | if (l3 != NULL && pmap_load(l3) == 0) { | ||||
rv = TRUE; | rv = TRUE; | ||||
} | } | ||||
PMAP_UNLOCK(pmap); | PMAP_UNLOCK(pmap); | ||||
return (rv); | return (rv); | ||||
} | } | ||||
/* | /* | ||||
* pmap_is_referenced: | * pmap_is_referenced: | ||||
▲ Show 20 Lines • Show All 910 Lines • Show Last 20 Lines |