aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-powerpc/pgtable-64k.h
diff options
context:
space:
mode:
authorNick Piggin <npiggin@suse.de>2008-07-27 20:28:03 -0700
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2008-07-28 16:30:52 +1000
commit83ac6a1ed40bfbe185cf2bac5505d8d97aad8b1d (patch)
treef29cf4d1b3b6f859ead2598c9d741ffc5a56ec8b /include/asm-powerpc/pgtable-64k.h
parentpowerpc: Show processor cache information in sysfs (diff)
downloadlinux-dev-83ac6a1ed40bfbe185cf2bac5505d8d97aad8b1d.tar.xz
linux-dev-83ac6a1ed40bfbe185cf2bac5505d8d97aad8b1d.zip
powerpc/mm: Implement _PAGE_SPECIAL & pte_special() for 64-bit
Implement _PAGE_SPECIAL and pte_special() for 64-bit powerpc. This bit will be used by the fast get_user_pages() to differenciate PTEs that correspond to a valid struct page from special mappings that don't such as IO mappings obtained via io_remap_pfn_ranges(). Signed-off-by: Nick Piggin <npiggin@suse.de> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Hugh Dickins <hugh@veritas.com> Cc: "Paul E. McKenney" <paulmck@us.ibm.com> Reviewed-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'include/asm-powerpc/pgtable-64k.h')
-rw-r--r--include/asm-powerpc/pgtable-64k.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/asm-powerpc/pgtable-64k.h b/include/asm-powerpc/pgtable-64k.h
index 7e54adb35596..07b0d8f09cb6 100644
--- a/include/asm-powerpc/pgtable-64k.h
+++ b/include/asm-powerpc/pgtable-64k.h
@@ -70,6 +70,8 @@ static inline struct subpage_prot_table *pgd_subpage_prot(pgd_t *pgd)
#define PGDIR_MASK (~(PGDIR_SIZE-1))
/* Additional PTE bits (don't change without checking asm in hash_low.S) */
+#define __HAVE_ARCH_PTE_SPECIAL
+#define _PAGE_SPECIAL 0x00000400 /* software: special page */
#define _PAGE_HPTE_SUB 0x0ffff000 /* combo only: sub pages HPTE bits */
#define _PAGE_HPTE_SUB0 0x08000000 /* combo only: first sub page */
#define _PAGE_COMBO 0x10000000 /* this is a combo 4k page */