The physical address stored in the vm_page is page aligned. There is no
need to mask off the page offset bits. (This operation made some sense prior to i386/i386/pmap.c revision 1.254 when we passed a physical address rather than a vm_page pointer to pmap_enter().)
This commit is contained in:
parent
763f534e3c
commit
8ceb3dcb60
@ -1686,7 +1686,7 @@ pmap_enter(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot,
|
||||
}
|
||||
|
||||
origpte = *pte;
|
||||
pa = VM_PAGE_TO_PHYS(m) & ~PAGE_MASK;
|
||||
pa = VM_PAGE_TO_PHYS(m);
|
||||
managed = 0;
|
||||
opa = pmap_pte_pa(pte);
|
||||
|
||||
|
@ -1880,7 +1880,7 @@ pmap_enter(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot,
|
||||
if (pte == NULL)
|
||||
panic("pmap_enter: invalid page directory va=%#lx\n", va);
|
||||
|
||||
pa = VM_PAGE_TO_PHYS(m) & PG_FRAME;
|
||||
pa = VM_PAGE_TO_PHYS(m);
|
||||
origpte = *pte;
|
||||
opa = origpte & PG_FRAME;
|
||||
|
||||
|
@ -1938,7 +1938,7 @@ pmap_enter(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot,
|
||||
(uintmax_t)pmap->pm_pdir[PTDPTDI], va);
|
||||
}
|
||||
|
||||
pa = VM_PAGE_TO_PHYS(m) & PG_FRAME;
|
||||
pa = VM_PAGE_TO_PHYS(m);
|
||||
origpte = *pte;
|
||||
opa = origpte & PG_FRAME;
|
||||
|
||||
|
@ -1526,7 +1526,7 @@ pmap_enter(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot,
|
||||
origpte = *pte;
|
||||
opa = (pmap_lpte_present(&origpte)) ? pmap_lpte_ppn(&origpte) : 0UL;
|
||||
managed = FALSE;
|
||||
pa = VM_PAGE_TO_PHYS(m) & ~PAGE_MASK;
|
||||
pa = VM_PAGE_TO_PHYS(m);
|
||||
|
||||
/*
|
||||
* Mapping has not changed, must be protection or wiring change.
|
||||
|
Loading…
x
Reference in New Issue
Block a user