powerpc64le/pmap: Fix superpage promotions
The page table is always big endian. Without byte swapping on LE, the promotion ability checks were invalid, and superpage promotions always failed.
This commit is contained in:
parent
59409cb90f
commit
d7bfb412a7
@ -2712,7 +2712,7 @@ pmap_promote_l3e(pmap_t pmap, pml3_entry_t *pde, vm_offset_t va,
|
||||
*/
|
||||
firstpte = (pt_entry_t *)PHYS_TO_DMAP(be64toh(*pde) & PG_FRAME);
|
||||
setpde:
|
||||
newpde = *firstpte;
|
||||
newpde = be64toh(*firstpte);
|
||||
if ((newpde & ((PG_FRAME & L3_PAGE_MASK) | PG_A | PG_V)) != (PG_A | PG_V)) {
|
||||
CTR2(KTR_PMAP, "pmap_promote_l3e: failure for va %#lx"
|
||||
" in pmap %p", va, pmap);
|
||||
|
Loading…
Reference in New Issue
Block a user