Date: Sun, 6 Jun 2021 02:50:12 GMT From: Justin Hibbits <jhibbits@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: d7bfb412a7c3 - main - powerpc64le/pmap: Fix superpage promotions Message-ID: <202106060250.1562oCkK021530@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=d7bfb412a7c3bd53ef1b664a46726e88ec9e02d1 commit d7bfb412a7c3bd53ef1b664a46726e88ec9e02d1 Author: Justin Hibbits <jhibbits@FreeBSD.org> AuthorDate: 2021-06-06 02:45:15 +0000 Commit: Justin Hibbits <jhibbits@FreeBSD.org> CommitDate: 2021-06-06 02:49:42 +0000 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. --- sys/powerpc/aim/mmu_radix.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/powerpc/aim/mmu_radix.c b/sys/powerpc/aim/mmu_radix.c index 83eda03f9556..c1f587a09e86 100644 --- a/sys/powerpc/aim/mmu_radix.c +++ b/sys/powerpc/aim/mmu_radix.c @@ -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);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202106060250.1562oCkK021530>