aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/powerpc/mm/hash_utils_64.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c
index ead9fa84ffd9..1ed4419c533b 100644
--- a/arch/powerpc/mm/hash_utils_64.c
+++ b/arch/powerpc/mm/hash_utils_64.c
@@ -1268,21 +1268,22 @@ repeat:
1268#ifdef CONFIG_DEBUG_PAGEALLOC 1268#ifdef CONFIG_DEBUG_PAGEALLOC
1269static void kernel_map_linear_page(unsigned long vaddr, unsigned long lmi) 1269static void kernel_map_linear_page(unsigned long vaddr, unsigned long lmi)
1270{ 1270{
1271 unsigned long hash, hpteg; 1271 unsigned long hash;
1272 unsigned long vsid = get_kernel_vsid(vaddr, mmu_kernel_ssize); 1272 unsigned long vsid = get_kernel_vsid(vaddr, mmu_kernel_ssize);
1273 unsigned long vpn = hpt_vpn(vaddr, vsid, mmu_kernel_ssize); 1273 unsigned long vpn = hpt_vpn(vaddr, vsid, mmu_kernel_ssize);
1274 unsigned long mode = htab_convert_pte_flags(PAGE_KERNEL); 1274 unsigned long mode = htab_convert_pte_flags(PAGE_KERNEL);
1275 int ret; 1275 long ret;
1276 1276
1277 hash = hpt_hash(vpn, PAGE_SHIFT, mmu_kernel_ssize); 1277 hash = hpt_hash(vpn, PAGE_SHIFT, mmu_kernel_ssize);
1278 hpteg = ((hash & htab_hash_mask) * HPTES_PER_GROUP);
1279 1278
1280 /* Don't create HPTE entries for bad address */ 1279 /* Don't create HPTE entries for bad address */
1281 if (!vsid) 1280 if (!vsid)
1282 return; 1281 return;
1283 ret = ppc_md.hpte_insert(hpteg, vpn, __pa(vaddr), 1282
1284 mode, HPTE_V_BOLTED, 1283 ret = hpte_insert_repeating(hash, vpn, __pa(vaddr), mode,
1285 mmu_linear_psize, mmu_kernel_ssize); 1284 HPTE_V_BOLTED,
1285 mmu_linear_psize, mmu_kernel_ssize);
1286
1286 BUG_ON (ret < 0); 1287 BUG_ON (ret < 0);
1287 spin_lock(&linear_map_hash_lock); 1288 spin_lock(&linear_map_hash_lock);
1288 BUG_ON(linear_map_hash_slots[lmi] & 0x80); 1289 BUG_ON(linear_map_hash_slots[lmi] & 0x80);