]> git.baikalelectronics.ru Git - kernel.git/commit
powerpc/mm/book3s-64: Use physical addresses in upper page table tree levels
authorPaul Mackerras <paulus@ozlabs.org>
Tue, 23 Feb 2016 02:36:17 +0000 (13:36 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 29 Feb 2016 09:34:34 +0000 (20:34 +1100)
commit5e14902214315b9c56375e5f5d0c6a4c01deb752
tree0454701b09a320be6186fcd4ed0447af3ee2b4ee
parent07f5e892c55ddf645f961d2fdf0cbaf65847157b
powerpc/mm/book3s-64: Use physical addresses in upper page table tree levels

This changes the Linux page tables to store physical addresses
rather than kernel virtual addresses in the upper levels of the
tree (pgd, pud and pmd) for 64-bit Book 3S machines.

This also changes the hugepd pointers used to implement hugepages
when the base page size is 4k to store physical addresses rather than
virtual addresses (again just for 64-bit Book3S machines).

This frees up some high order bits, and will be needed with
PowerISA v3.0 machines which read the page table tree in hardware
in radix mode.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/include/asm/book3s/64/hash-4k.h
arch/powerpc/include/asm/book3s/64/hash.h
arch/powerpc/include/asm/hugetlb.h
arch/powerpc/include/asm/nohash/64/pgtable.h
arch/powerpc/include/asm/page.h
arch/powerpc/include/asm/pgalloc-64.h
arch/powerpc/mm/hugetlbpage.c