From 32b50b8520d00b58ff88ab9ea46cf2423a3ad81b Mon Sep 17 00:00:00 2001 From: Leandro Lupori Date: Tue, 30 Mar 2021 15:54:01 -0300 Subject: [PATCH] powerpc64: support superpages on pmap_mincore Now that superpages for HPT MMU has landed, finish implementation of pmap_mincore by adding support for superpages. Submitted by: Fernando Eckhardt Valle Reviewed by: bdragon, luporl MFC after: 1 week Sponsored by: Eldorado Research Institute (eldorado.org.br) Differential Revision: https://reviews.freebsd.org/D29230 (cherry picked from commit 75e67b4920f2d70b98bd1383966d17d541b7c46c) --- sys/powerpc/aim/mmu_oea64.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/powerpc/aim/mmu_oea64.c b/sys/powerpc/aim/mmu_oea64.c index 14fea6f29a5..f311b61188e 100644 --- a/sys/powerpc/aim/mmu_oea64.c +++ b/sys/powerpc/aim/mmu_oea64.c @@ -1400,13 +1400,15 @@ moea64_mincore(pmap_t pmap, vm_offset_t addr, vm_paddr_t *pap) PMAP_LOCK(pmap); - /* XXX Add support for superpages */ pvo = moea64_pvo_find_va(pmap, addr); if (pvo != NULL) { pa = PVO_PADDR(pvo); m = PHYS_TO_VM_PAGE(pa); managed = (pvo->pvo_vaddr & PVO_MANAGED) == PVO_MANAGED; - val = MINCORE_INCORE; + if (PVO_IS_SP(pvo)) + val = MINCORE_INCORE | MINCORE_PSIND(1); + else + val = MINCORE_INCORE; } else { PMAP_UNLOCK(pmap); return (0);