powerpc/mm/book3s-64: Move _PAGE_PTE to 2nd most significant bit
authorPaul Mackerras <paulus@samba.org>
Mon, 22 Feb 2016 02:41:16 +0000 (13:41 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 29 Feb 2016 09:34:39 +0000 (20:34 +1100)
This changes _PAGE_PTE for 64-bit Book 3S processors from 0x1 to
0x4000_0000_0000_0000, because that bit is used as the L (leaf)
bit by PowerISA v3.0 CPUs in radix mode.  The "leaf" bit indicates
that the PTE points to a page directly rather than another radix
level, which is what the _PAGE_PTE bit means.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/include/asm/book3s/64/hash.h

index 36ff107b946924fe94665a05ad36698e258bf14f..14cfd49b2ab09dc8a25c7032464a03e4684ede72 100644 (file)
@@ -13,7 +13,6 @@
  * We could create separate kernel read-only if we used the 3 PP bits
  * combinations that newer processors provide but we currently don't.
  */
-#define _PAGE_PTE              0x00001 /* distinguishes PTEs from pointers */
 #define _PAGE_BIT_SWAP_TYPE    2
 #define _PAGE_USER             0x00004 /* page may be accessed by userspace */
 #define _PAGE_EXEC             0x00008 /* execute permission */
@@ -38,6 +37,7 @@
 #define _PAGE_SOFT_DIRTY       0x00000
 #endif
 
+#define _PAGE_PTE              (1ul << 62)     /* distinguishes PTEs from pointers */
 #define _PAGE_PRESENT          (1ul << 63)     /* pte contains a translation */
 
 /*