diff options
| -rw-r--r-- | arch/ppc64/mm/hash_native.c | 5 | ||||
| -rw-r--r-- | arch/ppc64/mm/hugetlbpage.c | 7 |
2 files changed, 7 insertions, 5 deletions
diff --git a/arch/ppc64/mm/hash_native.c b/arch/ppc64/mm/hash_native.c index 7626bb59954d..eb1bbb5b6c16 100644 --- a/arch/ppc64/mm/hash_native.c +++ b/arch/ppc64/mm/hash_native.c | |||
| @@ -343,9 +343,7 @@ static void native_flush_hash_range(unsigned long context, | |||
| 343 | hpte_t *hptep; | 343 | hpte_t *hptep; |
| 344 | unsigned long hpte_v; | 344 | unsigned long hpte_v; |
| 345 | struct ppc64_tlb_batch *batch = &__get_cpu_var(ppc64_tlb_batch); | 345 | struct ppc64_tlb_batch *batch = &__get_cpu_var(ppc64_tlb_batch); |
| 346 | 346 | unsigned long large; | |
| 347 | /* XXX fix for large ptes */ | ||
| 348 | unsigned long large = 0; | ||
| 349 | 347 | ||
| 350 | local_irq_save(flags); | 348 | local_irq_save(flags); |
| 351 | 349 | ||
| @@ -358,6 +356,7 @@ static void native_flush_hash_range(unsigned long context, | |||
| 358 | 356 | ||
| 359 | va = (vsid << 28) | (batch->addr[i] & 0x0fffffff); | 357 | va = (vsid << 28) | (batch->addr[i] & 0x0fffffff); |
| 360 | batch->vaddr[j] = va; | 358 | batch->vaddr[j] = va; |
| 359 | large = pte_huge(batch->pte[i]); | ||
| 361 | if (large) | 360 | if (large) |
| 362 | vpn = va >> HPAGE_SHIFT; | 361 | vpn = va >> HPAGE_SHIFT; |
| 363 | else | 362 | else |
diff --git a/arch/ppc64/mm/hugetlbpage.c b/arch/ppc64/mm/hugetlbpage.c index 338771ec70d7..0ea0994ed974 100644 --- a/arch/ppc64/mm/hugetlbpage.c +++ b/arch/ppc64/mm/hugetlbpage.c | |||
| @@ -710,10 +710,13 @@ repeat: | |||
| 710 | hpte_group = ((~hash & htab_hash_mask) * | 710 | hpte_group = ((~hash & htab_hash_mask) * |
| 711 | HPTES_PER_GROUP) & ~0x7UL; | 711 | HPTES_PER_GROUP) & ~0x7UL; |
| 712 | slot = ppc_md.hpte_insert(hpte_group, va, prpn, | 712 | slot = ppc_md.hpte_insert(hpte_group, va, prpn, |
| 713 | HPTE_V_LARGE, rflags); | 713 | HPTE_V_LARGE | |
| 714 | HPTE_V_SECONDARY, | ||
| 715 | rflags); | ||
| 714 | if (slot == -1) { | 716 | if (slot == -1) { |
| 715 | if (mftb() & 0x1) | 717 | if (mftb() & 0x1) |
| 716 | hpte_group = ((hash & htab_hash_mask) * HPTES_PER_GROUP) & ~0x7UL; | 718 | hpte_group = ((hash & htab_hash_mask) * |
| 719 | HPTES_PER_GROUP)&~0x7UL; | ||
| 717 | 720 | ||
| 718 | ppc_md.hpte_remove(hpte_group); | 721 | ppc_md.hpte_remove(hpte_group); |
| 719 | goto repeat; | 722 | goto repeat; |
