version 1.107, 2020/04/15 09:41:09 |
version 1.108, 2020/04/15 15:22:37 |
Line 537 pmap_check_alias(struct vm_page *pg, vad |
|
Line 537 pmap_check_alias(struct vm_page *pg, vad |
|
(pte & PTE_PROT(TLB_WRITE))) { |
(pte & PTE_PROT(TLB_WRITE))) { |
|
|
DPRINTF(PDB_FOLLOW|PDB_ALIAS, |
DPRINTF(PDB_FOLLOW|PDB_ALIAS, |
("%s: aliased writable mapping 0x%x:0x%lx\n", |
("%s: aliased writable mapping 0x%x:0x%lx\n", |
__func__, pve->pv_pmap->pm_space, pve->pv_va)); |
__func__, pve->pv_pmap->pm_space, pve->pv_va)); |
ret++; |
ret++; |
} |
} |
} |
} |
|
|
return (ret); |
return (ret); |
} |
} |
|
|
/* |
/* |
Line 1295 pmap_enter(pmap_t pmap, vaddr_t va, padd |
|
Line 1295 pmap_enter(pmap_t pmap, vaddr_t va, padd |
|
} |
} |
panic("%s: no pv entries available", __func__); |
panic("%s: no pv entries available", __func__); |
} |
} |
pte |= PTE_PROT(pmap_prot(pmap, prot)); |
pte |= PTE_PROT(pmap_prot(pmap, prot)); |
if (pmap_check_alias(pg, va, pte)) |
if (pmap_check_alias(pg, va, pte)) |
pmap_page_remove(pg); |
pmap_page_remove(pg); |
pmap_pv_enter(pg, pve, pmap, va, ptp, 0); |
pmap_pv_enter(pg, pve, pmap, va, ptp, 0); |