forked from mirrors/linux
		
	powerpc/mm/nohash: MM_SLICE is only used by book3s 64
BOOKE code is dead code as per the Kconfig details. So make it simpler by enabling MM_SLICE only for book3s_64. The changes w.r.t nohash is just removing deadcode. W.r.t ppc64, 4k without hugetlb will now enable MM_SLICE. But that is good, because we reduce one extra variant which probably is not getting tested much. Reviewed-by: Paul Mackerras <paulus@ozlabs.org> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
		
							parent
							
								
									adec9a2e7c
								
							
						
					
					
						commit
						b42279f016
					
				
					 5 changed files with 1 additions and 23 deletions
				
			
		| 
						 | 
					@ -229,11 +229,6 @@ typedef struct {
 | 
				
			||||||
	unsigned int	id;
 | 
						unsigned int	id;
 | 
				
			||||||
	unsigned int	active;
 | 
						unsigned int	active;
 | 
				
			||||||
	unsigned long	vdso_base;
 | 
						unsigned long	vdso_base;
 | 
				
			||||||
#ifdef CONFIG_PPC_MM_SLICES
 | 
					 | 
				
			||||||
	u64 low_slices_psize;   /* SLB page size encodings */
 | 
					 | 
				
			||||||
	u64 high_slices_psize;  /* 4 bits per slice for now */
 | 
					 | 
				
			||||||
	u16 user_psize;         /* page size index */
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
#ifdef CONFIG_PPC_64K_PAGES
 | 
					#ifdef CONFIG_PPC_64K_PAGES
 | 
				
			||||||
	/* for 4K PTE fragment support */
 | 
						/* for 4K PTE fragment support */
 | 
				
			||||||
	void *pte_frag;
 | 
						void *pte_frag;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -88,11 +88,6 @@
 | 
				
			||||||
#include <asm/nohash/pte-book3e.h>
 | 
					#include <asm/nohash/pte-book3e.h>
 | 
				
			||||||
#include <asm/pte-common.h>
 | 
					#include <asm/pte-common.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef CONFIG_PPC_MM_SLICES
 | 
					 | 
				
			||||||
#define HAVE_ARCH_UNMAPPED_AREA
 | 
					 | 
				
			||||||
#define HAVE_ARCH_UNMAPPED_AREA_TOPDOWN
 | 
					 | 
				
			||||||
#endif /* CONFIG_PPC_MM_SLICES */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifndef __ASSEMBLY__
 | 
					#ifndef __ASSEMBLY__
 | 
				
			||||||
/* pte_clear moved to later in this file */
 | 
					/* pte_clear moved to later in this file */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -148,16 +148,9 @@ void book3e_hugetlb_preload(struct vm_area_struct *vma, unsigned long ea,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	mm = vma->vm_mm;
 | 
						mm = vma->vm_mm;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef CONFIG_PPC_MM_SLICES
 | 
					 | 
				
			||||||
	psize = get_slice_psize(mm, ea);
 | 
					 | 
				
			||||||
	tsize = mmu_get_tsize(psize);
 | 
					 | 
				
			||||||
	shift = mmu_psize_defs[psize].shift;
 | 
					 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
	psize = vma_mmu_pagesize(vma);
 | 
						psize = vma_mmu_pagesize(vma);
 | 
				
			||||||
	shift = __ilog2(psize);
 | 
						shift = __ilog2(psize);
 | 
				
			||||||
	tsize = shift - 10;
 | 
						tsize = shift - 10;
 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	/*
 | 
						/*
 | 
				
			||||||
	 * We can't be interrupted while we're setting up the MAS
 | 
						 * We can't be interrupted while we're setting up the MAS
 | 
				
			||||||
	 * regusters or after we've confirmed that no tlb exists.
 | 
						 * regusters or after we've confirmed that no tlb exists.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -333,11 +333,6 @@ int init_new_context(struct task_struct *t, struct mm_struct *mm)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	mm->context.id = MMU_NO_CONTEXT;
 | 
						mm->context.id = MMU_NO_CONTEXT;
 | 
				
			||||||
	mm->context.active = 0;
 | 
						mm->context.active = 0;
 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifdef CONFIG_PPC_MM_SLICES
 | 
					 | 
				
			||||||
	slice_set_user_psize(mm, mmu_virtual_psize);
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	return 0;
 | 
						return 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -359,7 +359,7 @@ config PPC_BOOK3E_MMU
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config PPC_MM_SLICES
 | 
					config PPC_MM_SLICES
 | 
				
			||||||
	bool
 | 
						bool
 | 
				
			||||||
	default y if (!PPC_FSL_BOOK3E && PPC64 && HUGETLB_PAGE) || (PPC_STD_MMU_64 && PPC_64K_PAGES)
 | 
						default y if PPC_STD_MMU_64
 | 
				
			||||||
	default n
 | 
						default n
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config PPC_HAVE_PMU_SUPPORT
 | 
					config PPC_HAVE_PMU_SUPPORT
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue