Changeset View
Changeset View
Standalone View
Standalone View
sys/arm64/arm64/pmap.c
Show First 20 Lines • Show All 5,940 Lines • ▼ Show 20 Lines | case 1: | ||||
break; | break; | ||||
default: | default: | ||||
panic("pmap_mincore: invalid level %d", lvl); | panic("pmap_mincore: invalid level %d", lvl); | ||||
} | } | ||||
managed = (tpte & ATTR_SW_MANAGED) != 0; | managed = (tpte & ATTR_SW_MANAGED) != 0; | ||||
val = MINCORE_INCORE; | val = MINCORE_INCORE; | ||||
if (lvl != 3) | if (lvl != 3) | ||||
val |= MINCORE_SUPER; | val |= MINCORE_PSIND(3 - lvl); | ||||
if ((managed && pmap_pte_dirty(pmap, tpte)) || (!managed && | if ((managed && pmap_pte_dirty(pmap, tpte)) || (!managed && | ||||
(tpte & ATTR_S1_AP_RW_BIT) == ATTR_S1_AP(ATTR_S1_AP_RW))) | (tpte & ATTR_S1_AP_RW_BIT) == ATTR_S1_AP(ATTR_S1_AP_RW))) | ||||
val |= MINCORE_MODIFIED | MINCORE_MODIFIED_OTHER; | val |= MINCORE_MODIFIED | MINCORE_MODIFIED_OTHER; | ||||
if ((tpte & ATTR_AF) == ATTR_AF) | if ((tpte & ATTR_AF) == ATTR_AF) | ||||
val |= MINCORE_REFERENCED | MINCORE_REFERENCED_OTHER; | val |= MINCORE_REFERENCED | MINCORE_REFERENCED_OTHER; | ||||
pa = (tpte & ~ATTR_MASK) | (addr & mask); | pa = (tpte & ~ATTR_MASK) | (addr & mask); | ||||
} else { | } else { | ||||
▲ Show 20 Lines • Show All 743 Lines • Show Last 20 Lines |