aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Ellerman <mpe@ellerman.id.au>2015-08-07 02:19:47 -0400
committerMichael Ellerman <mpe@ellerman.id.au>2015-08-18 05:32:10 -0400
commit73b341efda6664afbb0b6884eae60f04208b4128 (patch)
tree4fe3dc23e3b59b75b9d87da5b73ddc3fa3dd4816
parent55f8b5b82fe7ab21da4153ed177b6fe17b1d59a3 (diff)
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: Michael Ellerman <mpe@ellerman.id.au> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
-rw-r--r--arch/powerpc/Kconfig6
-rw-r--r--arch/powerpc/mm/hash_low_64.S4
-rw-r--r--arch/powerpc/mm/hash_utils_64.c12
3 files changed, 8 insertions, 14 deletions
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index b77035f53491..b447918b9e2c 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -519,11 +519,6 @@ config NODES_SPAN_OTHER_NODES
519 def_bool y 519 def_bool y
520 depends on NEED_MULTIPLE_NODES 520 depends on NEED_MULTIPLE_NODES
521 521
522config PPC_HAS_HASH_64K
523 bool
524 depends on PPC64
525 default n
526
527config STDBINUTILS 522config STDBINUTILS
528 bool "Using standard binutils settings" 523 bool "Using standard binutils settings"
529 depends on 44x 524 depends on 44x
@@ -571,7 +566,6 @@ config PPC_16K_PAGES
571config PPC_64K_PAGES 566config PPC_64K_PAGES
572 bool "64k page size" 567 bool "64k page size"
573 depends on !PPC_FSL_BOOK3E && (44x || PPC_STD_MMU_64 || PPC_BOOK3E_64) 568 depends on !PPC_FSL_BOOK3E && (44x || PPC_STD_MMU_64 || PPC_BOOK3E_64)
574 select PPC_HAS_HASH_64K if PPC_STD_MMU_64
575 569
576config PPC_256K_PAGES 570config PPC_256K_PAGES
577 bool "256k page size" 571 bool "256k page size"
diff --git a/arch/powerpc/mm/hash_low_64.S b/arch/powerpc/mm/hash_low_64.S
index 463174a4a647..3b49e3295901 100644
--- a/arch/powerpc/mm/hash_low_64.S
+++ b/arch/powerpc/mm/hash_low_64.S
@@ -701,7 +701,7 @@ htab_pte_insert_failure:
701 701
702#endif /* CONFIG_PPC_64K_PAGES */ 702#endif /* CONFIG_PPC_64K_PAGES */
703 703
704#ifdef CONFIG_PPC_HAS_HASH_64K 704#ifdef CONFIG_PPC_64K_PAGES
705 705
706/***************************************************************************** 706/*****************************************************************************
707 * * 707 * *
@@ -993,7 +993,7 @@ ht64_pte_insert_failure:
993 b ht64_bail 993 b ht64_bail
994 994
995 995
996#endif /* CONFIG_PPC_HAS_HASH_64K */ 996#endif /* CONFIG_PPC_64K_PAGES */
997 997
998 998
999/***************************************************************************** 999/*****************************************************************************
diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c
index 5ec987f65b2c..aee70171355b 100644
--- a/arch/powerpc/mm/hash_utils_64.c
+++ b/arch/powerpc/mm/hash_utils_64.c
@@ -640,7 +640,7 @@ extern u32 ht64_call_hpte_updatepp[];
640 640
641static void __init htab_finish_init(void) 641static void __init htab_finish_init(void)
642{ 642{
643#ifdef CONFIG_PPC_HAS_HASH_64K 643#ifdef CONFIG_PPC_64K_PAGES
644 patch_branch(ht64_call_hpte_insert1, 644 patch_branch(ht64_call_hpte_insert1,
645 ppc_function_entry(ppc_md.hpte_insert), 645 ppc_function_entry(ppc_md.hpte_insert),
646 BRANCH_SET_LINK); 646 BRANCH_SET_LINK);
@@ -653,7 +653,7 @@ static void __init htab_finish_init(void)
653 patch_branch(ht64_call_hpte_updatepp, 653 patch_branch(ht64_call_hpte_updatepp,
654 ppc_function_entry(ppc_md.hpte_updatepp), 654 ppc_function_entry(ppc_md.hpte_updatepp),
655 BRANCH_SET_LINK); 655 BRANCH_SET_LINK);
656#endif /* CONFIG_PPC_HAS_HASH_64K */ 656#endif /* CONFIG_PPC_64K_PAGES */
657 657
658 patch_branch(htab_call_hpte_insert1, 658 patch_branch(htab_call_hpte_insert1,
659 ppc_function_entry(ppc_md.hpte_insert), 659 ppc_function_entry(ppc_md.hpte_insert),
@@ -1151,12 +1151,12 @@ int hash_page_mm(struct mm_struct *mm, unsigned long ea,
1151 check_paca_psize(ea, mm, psize, user_region); 1151 check_paca_psize(ea, mm, psize, user_region);
1152#endif /* CONFIG_PPC_64K_PAGES */ 1152#endif /* CONFIG_PPC_64K_PAGES */
1153 1153
1154#ifdef CONFIG_PPC_HAS_HASH_64K 1154#ifdef CONFIG_PPC_64K_PAGES
1155 if (psize == MMU_PAGE_64K) 1155 if (psize == MMU_PAGE_64K)
1156 rc = __hash_page_64K(ea, access, vsid, ptep, trap, 1156 rc = __hash_page_64K(ea, access, vsid, ptep, trap,
1157 flags, ssize); 1157 flags, ssize);
1158 else 1158 else
1159#endif /* CONFIG_PPC_HAS_HASH_64K */ 1159#endif /* CONFIG_PPC_64K_PAGES */
1160 { 1160 {
1161 int spp = subpage_protection(mm, ea); 1161 int spp = subpage_protection(mm, ea);
1162 if (access & spp) 1162 if (access & spp)
@@ -1264,12 +1264,12 @@ void hash_preload(struct mm_struct *mm, unsigned long ea,
1264 update_flags |= HPTE_LOCAL_UPDATE; 1264 update_flags |= HPTE_LOCAL_UPDATE;
1265 1265
1266 /* Hash it in */ 1266 /* Hash it in */
1267#ifdef CONFIG_PPC_HAS_HASH_64K 1267#ifdef CONFIG_PPC_64K_PAGES
1268 if (mm->context.user_psize == MMU_PAGE_64K) 1268 if (mm->context.user_psize == MMU_PAGE_64K)
1269 rc = __hash_page_64K(ea, access, vsid, ptep, trap, 1269 rc = __hash_page_64K(ea, access, vsid, ptep, trap,
1270 update_flags, ssize); 1270 update_flags, ssize);
1271 else 1271 else
1272#endif /* CONFIG_PPC_HAS_HASH_64K */ 1272#endif /* CONFIG_PPC_64K_PAGES */
1273 rc = __hash_page_4K(ea, access, vsid, ptep, trap, update_flags, 1273 rc = __hash_page_4K(ea, access, vsid, ptep, trap, update_flags,
1274 ssize, subpage_protection(mm, ea)); 1274 ssize, subpage_protection(mm, ea));
1275 1275