This patch series modifies the Linux PTE format used on 64-bit Book3S processors (i.e. POWER server processors) to make the bits line up with the PTE format used in the radix trees defined in PowerISA v3.0. This will reduce the amount of further change required to make a kernel that can run with either a radix MMU or a hashed page table (HPT) MMU.
This also changes the upper levels of the tree to use real addresses rather than kernel virtual addresses - that is, we no longer have the 0xc000... at the top of each PGD/PUD/PMD entry. Unlike the previous version of these patches, these patches do not change the format for the 64-bit embedded processors, only for 64-bit server processors. The patch series is against v4.5-rc5. I have compiled this for all the defconfigs in the tree, without error. I have tested this, with Aneesh's "powerpc/mm/hash: Clear the invalid slot information correctly" patch on top, both running bare-metal on a POWER8 and in a KVM guest on that POWER8 system. In the guest I tested both 4k and 64k configs, with THP enabled; in the host I tested with 64k page size and THP enabled. All these tests ran fine, including running a KVM guest on the bare-metal system. So far I have done kernel compiles in a loop as the test, but I plan to run LTP and possibly some other tests. Paul. arch/powerpc/include/asm/book3s/64/hash-4k.h | 5 ++- arch/powerpc/include/asm/book3s/64/hash-64k.h | 24 +++++------ arch/powerpc/include/asm/book3s/64/hash.h | 57 ++++++++++++++------------- arch/powerpc/include/asm/book3s/64/pgtable.h | 6 +-- arch/powerpc/include/asm/nohash/64/pgtable.h | 3 ++ arch/powerpc/include/asm/pgalloc-64.h | 16 ++++---- arch/powerpc/mm/hash64_64k.c | 3 +- arch/powerpc/mm/hash_utils_64.c | 10 ++--- arch/powerpc/mm/hugetlbpage-hash64.c | 5 ++- arch/powerpc/mm/mmu_decl.h | 3 +- arch/powerpc/mm/pgtable_64.c | 4 +- 11 files changed, 73 insertions(+), 63 deletions(-) _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev