]> err.no Git - linux-2.6/blobdiff - include/asm-powerpc/page_64.h
powerpc: Only demote individual slices rather than whole process
[linux-2.6] / include / asm-powerpc / page_64.h
index 4ee82c61e4d7ec9ad6b213139f27716d7a19796c..02fd80710e9d67219b95f3a060f7a2ab533183c3 100644 (file)
@@ -1,6 +1,5 @@
 #ifndef _ASM_POWERPC_PAGE_64_H
 #define _ASM_POWERPC_PAGE_64_H
-#ifdef __KERNEL__
 
 /*
  * Copyright (C) 2001 PPC64 Team, IBM Corp
@@ -127,28 +126,27 @@ extern unsigned int get_slice_psize(struct mm_struct *mm,
 
 extern void slice_init_context(struct mm_struct *mm, unsigned int psize);
 extern void slice_set_user_psize(struct mm_struct *mm, unsigned int psize);
-#define slice_mm_new_context(mm)       ((mm)->context.id == 0)
+extern void slice_set_range_psize(struct mm_struct *mm, unsigned long start,
+                                 unsigned long len, unsigned int psize);
 
-#define ARCH_HAS_HUGEPAGE_ONLY_RANGE
-extern int is_hugepage_only_range(struct mm_struct *m,
-                                 unsigned long addr,
-                                 unsigned long len);
+#define slice_mm_new_context(mm)       ((mm)->context.id == 0)
 
 #endif /* __ASSEMBLY__ */
 #else
 #define slice_init()
+#define get_slice_psize(mm, addr)      ((mm)->context.user_psize)
 #define slice_set_user_psize(mm, psize)                \
 do {                                           \
        (mm)->context.user_psize = (psize);     \
        (mm)->context.sllp = SLB_VSID_USER | mmu_psize_defs[(psize)].sllp; \
 } while (0)
+#define slice_set_range_psize(mm, start, len, psize)   \
+       slice_set_user_psize((mm), (psize))
 #define slice_mm_new_context(mm)       1
 #endif /* CONFIG_PPC_MM_SLICES */
 
 #ifdef CONFIG_HUGETLB_PAGE
 
-#define ARCH_HAS_HUGETLB_FREE_PGD_RANGE
-#define ARCH_HAS_SETCLEAR_HUGE_PTE
 #define HAVE_ARCH_HUGETLB_UNMAPPED_AREA
 
 #endif /* !CONFIG_HUGETLB_PAGE */
@@ -183,5 +181,4 @@ do {                                                \
 
 #include <asm-generic/page.h>
 
-#endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_PAGE_64_H */