[POWERPC] Tidy up CONFIG_PPC_MM_SLICES code
This removes some of the #ifdefs from .c files. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
parent
0b8188a44d
commit
e8ff0646e5
|
@ -601,13 +601,7 @@ static void demote_segment_4k(struct mm_struct *mm, unsigned long addr)
|
||||||
{
|
{
|
||||||
if (mm->context.user_psize == MMU_PAGE_4K)
|
if (mm->context.user_psize == MMU_PAGE_4K)
|
||||||
return;
|
return;
|
||||||
#ifdef CONFIG_PPC_MM_SLICES
|
|
||||||
slice_set_user_psize(mm, MMU_PAGE_4K);
|
slice_set_user_psize(mm, MMU_PAGE_4K);
|
||||||
#else /* CONFIG_PPC_MM_SLICES */
|
|
||||||
mm->context.user_psize = MMU_PAGE_4K;
|
|
||||||
mm->context.sllp = SLB_VSID_USER | mmu_psize_defs[MMU_PAGE_4K].sllp;
|
|
||||||
#endif /* CONFIG_PPC_MM_SLICES */
|
|
||||||
|
|
||||||
#ifdef CONFIG_SPU_BASE
|
#ifdef CONFIG_SPU_BASE
|
||||||
spu_flush_all_slbs(mm);
|
spu_flush_all_slbs(mm);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -49,18 +49,12 @@ again:
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_PPC_MM_SLICES
|
|
||||||
/* The old code would re-promote on fork, we don't do that
|
/* The old code would re-promote on fork, we don't do that
|
||||||
* when using slices as it could cause problem promoting slices
|
* when using slices as it could cause problem promoting slices
|
||||||
* that have been forced down to 4K
|
* that have been forced down to 4K
|
||||||
*/
|
*/
|
||||||
if (mm->context.id == 0)
|
if (slice_mm_new_context(mm))
|
||||||
slice_set_user_psize(mm, mmu_virtual_psize);
|
slice_set_user_psize(mm, mmu_virtual_psize);
|
||||||
#else
|
|
||||||
mm->context.user_psize = mmu_virtual_psize;
|
|
||||||
mm->context.sllp = SLB_VSID_USER |
|
|
||||||
mmu_psize_defs[mmu_virtual_psize].sllp;
|
|
||||||
#endif
|
|
||||||
mm->context.id = index;
|
mm->context.id = index;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -121,6 +121,7 @@ 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_init_context(struct mm_struct *mm, unsigned int psize);
|
||||||
extern void slice_set_user_psize(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)
|
||||||
|
|
||||||
#define ARCH_HAS_HUGEPAGE_ONLY_RANGE
|
#define ARCH_HAS_HUGEPAGE_ONLY_RANGE
|
||||||
extern int is_hugepage_only_range(struct mm_struct *m,
|
extern int is_hugepage_only_range(struct mm_struct *m,
|
||||||
|
@ -130,6 +131,12 @@ extern int is_hugepage_only_range(struct mm_struct *m,
|
||||||
#endif /* __ASSEMBLY__ */
|
#endif /* __ASSEMBLY__ */
|
||||||
#else
|
#else
|
||||||
#define slice_init()
|
#define slice_init()
|
||||||
|
#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_mm_new_context(mm) 1
|
||||||
#endif /* CONFIG_PPC_MM_SLICES */
|
#endif /* CONFIG_PPC_MM_SLICES */
|
||||||
|
|
||||||
#ifdef CONFIG_HUGETLB_PAGE
|
#ifdef CONFIG_HUGETLB_PAGE
|
||||||
|
|
Loading…
Reference in New Issue