diff options
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/powerpc/Kconfig | 6 | ||||
| -rw-r--r-- | arch/powerpc/mm/hash_low_64.S | 4 | ||||
| -rw-r--r-- | arch/powerpc/mm/hash_utils_64.c | 12 |
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 | ||
| 522 | config PPC_HAS_HASH_64K | ||
| 523 | bool | ||
| 524 | depends on PPC64 | ||
| 525 | default n | ||
| 526 | |||
| 527 | config STDBINUTILS | 522 | config 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 | |||
| 571 | config PPC_64K_PAGES | 566 | config 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 | ||
| 576 | config PPC_256K_PAGES | 570 | config 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 | ||
| 641 | static void __init htab_finish_init(void) | 641 | static 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 | ||
