aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/powerpc/include/asm/mmu-hash64.h3
-rw-r--r--arch/powerpc/mm/hash_utils_64.c12
-rw-r--r--arch/powerpc/mm/hugetlbpage-hash64.c2
3 files changed, 10 insertions, 7 deletions
diff --git a/arch/powerpc/include/asm/mmu-hash64.h b/arch/powerpc/include/asm/mmu-hash64.h
index 18171a86bff6..2accc9611248 100644
--- a/arch/powerpc/include/asm/mmu-hash64.h
+++ b/arch/powerpc/include/asm/mmu-hash64.h
@@ -342,7 +342,8 @@ int __hash_page_huge(unsigned long ea, unsigned long access, unsigned long vsid,
342 unsigned int shift, unsigned int mmu_psize); 342 unsigned int shift, unsigned int mmu_psize);
343extern void hash_failure_debug(unsigned long ea, unsigned long access, 343extern void hash_failure_debug(unsigned long ea, unsigned long access,
344 unsigned long vsid, unsigned long trap, 344 unsigned long vsid, unsigned long trap,
345 int ssize, int psize, unsigned long pte); 345 int ssize, int psize, int lpsize,
346 unsigned long pte);
346extern int htab_bolt_mapping(unsigned long vstart, unsigned long vend, 347extern int htab_bolt_mapping(unsigned long vstart, unsigned long vend,
347 unsigned long pstart, unsigned long prot, 348 unsigned long pstart, unsigned long prot,
348 int psize, int ssize); 349 int psize, int ssize);
diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c
index cd75d68a730b..5f7a85d40a75 100644
--- a/arch/powerpc/mm/hash_utils_64.c
+++ b/arch/powerpc/mm/hash_utils_64.c
@@ -936,14 +936,14 @@ static inline int subpage_protection(struct mm_struct *mm, unsigned long ea)
936 936
937void hash_failure_debug(unsigned long ea, unsigned long access, 937void hash_failure_debug(unsigned long ea, unsigned long access,
938 unsigned long vsid, unsigned long trap, 938 unsigned long vsid, unsigned long trap,
939 int ssize, int psize, unsigned long pte) 939 int ssize, int psize, int lpsize, unsigned long pte)
940{ 940{
941 if (!printk_ratelimit()) 941 if (!printk_ratelimit())
942 return; 942 return;
943 pr_info("mm: Hashing failure ! EA=0x%lx access=0x%lx current=%s\n", 943 pr_info("mm: Hashing failure ! EA=0x%lx access=0x%lx current=%s\n",
944 ea, access, current->comm); 944 ea, access, current->comm);
945 pr_info(" trap=0x%lx vsid=0x%lx ssize=%d psize=%d pte=0x%lx\n", 945 pr_info(" trap=0x%lx vsid=0x%lx ssize=%d base psize=%d psize %d pte=0x%lx\n",
946 trap, vsid, ssize, psize, pte); 946 trap, vsid, ssize, psize, lpsize, pte);
947} 947}
948 948
949/* Result code is: 949/* Result code is:
@@ -1116,7 +1116,7 @@ int hash_page(unsigned long ea, unsigned long access, unsigned long trap)
1116 */ 1116 */
1117 if (rc == -1) 1117 if (rc == -1)
1118 hash_failure_debug(ea, access, vsid, trap, ssize, psize, 1118 hash_failure_debug(ea, access, vsid, trap, ssize, psize,
1119 pte_val(*ptep)); 1119 psize, pte_val(*ptep));
1120#ifndef CONFIG_PPC_64K_PAGES 1120#ifndef CONFIG_PPC_64K_PAGES
1121 DBG_LOW(" o-pte: %016lx\n", pte_val(*ptep)); 1121 DBG_LOW(" o-pte: %016lx\n", pte_val(*ptep));
1122#else 1122#else
@@ -1194,7 +1194,9 @@ void hash_preload(struct mm_struct *mm, unsigned long ea,
1194 */ 1194 */
1195 if (rc == -1) 1195 if (rc == -1)
1196 hash_failure_debug(ea, access, vsid, trap, ssize, 1196 hash_failure_debug(ea, access, vsid, trap, ssize,
1197 mm->context.user_psize, pte_val(*ptep)); 1197 mm->context.user_psize,
1198 mm->context.user_psize,
1199 pte_val(*ptep));
1198 1200
1199 local_irq_restore(flags); 1201 local_irq_restore(flags);
1200} 1202}
diff --git a/arch/powerpc/mm/hugetlbpage-hash64.c b/arch/powerpc/mm/hugetlbpage-hash64.c
index b913f416d97a..0f1d94a1fb82 100644
--- a/arch/powerpc/mm/hugetlbpage-hash64.c
+++ b/arch/powerpc/mm/hugetlbpage-hash64.c
@@ -110,7 +110,7 @@ int __hash_page_huge(unsigned long ea, unsigned long access, unsigned long vsid,
110 if (unlikely(slot == -2)) { 110 if (unlikely(slot == -2)) {
111 *ptep = __pte(old_pte); 111 *ptep = __pte(old_pte);
112 hash_failure_debug(ea, access, vsid, trap, ssize, 112 hash_failure_debug(ea, access, vsid, trap, ssize,
113 mmu_psize, old_pte); 113 mmu_psize, mmu_psize, old_pte);
114 return -1; 114 return -1;
115 } 115 }
116 116