Commit 73b341ef authored by Michael Ellerman's avatar Michael Ellerman
Browse files

powerpc/mm: Drop CONFIG_PPC_HAS_HASH_64K



The relation between CONFIG_PPC_HAS_HASH_64K and CONFIG_PPC_64K_PAGES is
painfully complicated.

But if we rearrange it enough we can see that PPC_HAS_HASH_64K
essentially depends on PPC_STD_MMU_64 && PPC_64K_PAGES.

We can then notice that PPC_HAS_HASH_64K is used in files that are only
built for PPC_STD_MMU_64, meaning it's equivalent to PPC_64K_PAGES.

So replace all uses and drop it.

Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Reviewed-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
parent 55f8b5b8
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -519,11 +519,6 @@ config NODES_SPAN_OTHER_NODES
	def_bool y
	depends on NEED_MULTIPLE_NODES

config PPC_HAS_HASH_64K
	bool
	depends on PPC64
	default n

config STDBINUTILS
	bool "Using standard binutils settings"
	depends on 44x
@@ -571,7 +566,6 @@ config PPC_16K_PAGES
config PPC_64K_PAGES
	bool "64k page size"
	depends on !PPC_FSL_BOOK3E && (44x || PPC_STD_MMU_64 || PPC_BOOK3E_64)
	select PPC_HAS_HASH_64K if PPC_STD_MMU_64

config PPC_256K_PAGES
	bool "256k page size"
+2 −2
Original line number Diff line number Diff line
@@ -701,7 +701,7 @@ htab_pte_insert_failure:

#endif /* CONFIG_PPC_64K_PAGES */

#ifdef CONFIG_PPC_HAS_HASH_64K
#ifdef CONFIG_PPC_64K_PAGES

/*****************************************************************************
 *                                                                           *
@@ -993,7 +993,7 @@ ht64_pte_insert_failure:
	b	ht64_bail


#endif /* CONFIG_PPC_HAS_HASH_64K */
#endif /* CONFIG_PPC_64K_PAGES */


/*****************************************************************************
+6 −6
Original line number Diff line number Diff line
@@ -640,7 +640,7 @@ extern u32 ht64_call_hpte_updatepp[];

static void __init htab_finish_init(void)
{
#ifdef CONFIG_PPC_HAS_HASH_64K
#ifdef CONFIG_PPC_64K_PAGES
	patch_branch(ht64_call_hpte_insert1,
		ppc_function_entry(ppc_md.hpte_insert),
		BRANCH_SET_LINK);
@@ -653,7 +653,7 @@ static void __init htab_finish_init(void)
	patch_branch(ht64_call_hpte_updatepp,
		ppc_function_entry(ppc_md.hpte_updatepp),
		BRANCH_SET_LINK);
#endif /* CONFIG_PPC_HAS_HASH_64K */
#endif /* CONFIG_PPC_64K_PAGES */

	patch_branch(htab_call_hpte_insert1,
		ppc_function_entry(ppc_md.hpte_insert),
@@ -1151,12 +1151,12 @@ int hash_page_mm(struct mm_struct *mm, unsigned long ea,
		check_paca_psize(ea, mm, psize, user_region);
#endif /* CONFIG_PPC_64K_PAGES */

#ifdef CONFIG_PPC_HAS_HASH_64K
#ifdef CONFIG_PPC_64K_PAGES
	if (psize == MMU_PAGE_64K)
		rc = __hash_page_64K(ea, access, vsid, ptep, trap,
				     flags, ssize);
	else
#endif /* CONFIG_PPC_HAS_HASH_64K */
#endif /* CONFIG_PPC_64K_PAGES */
	{
		int spp = subpage_protection(mm, ea);
		if (access & spp)
@@ -1264,12 +1264,12 @@ void hash_preload(struct mm_struct *mm, unsigned long ea,
		update_flags |= HPTE_LOCAL_UPDATE;

	/* Hash it in */
#ifdef CONFIG_PPC_HAS_HASH_64K
#ifdef CONFIG_PPC_64K_PAGES
	if (mm->context.user_psize == MMU_PAGE_64K)
		rc = __hash_page_64K(ea, access, vsid, ptep, trap,
				     update_flags, ssize);
	else
#endif /* CONFIG_PPC_HAS_HASH_64K */
#endif /* CONFIG_PPC_64K_PAGES */
		rc = __hash_page_4K(ea, access, vsid, ptep, trap, update_flags,
				    ssize, subpage_protection(mm, ea));