aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ppc64/mm/hash_native.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/ppc64/mm/hash_native.c')
-rw-r--r--arch/ppc64/mm/hash_native.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/arch/ppc64/mm/hash_native.c b/arch/ppc64/mm/hash_native.c
index 7626bb59954d..29b074505d3e 100644
--- a/arch/ppc64/mm/hash_native.c
+++ b/arch/ppc64/mm/hash_native.c
@@ -335,10 +335,9 @@ static void native_hpte_clear(void)
335 local_irq_restore(flags); 335 local_irq_restore(flags);
336} 336}
337 337
338static void native_flush_hash_range(unsigned long context, 338static void native_flush_hash_range(unsigned long number, int local)
339 unsigned long number, int local)
340{ 339{
341 unsigned long vsid, vpn, va, hash, secondary, slot, flags, avpn; 340 unsigned long va, vpn, hash, secondary, slot, flags, avpn;
342 int i, j; 341 int i, j;
343 hpte_t *hptep; 342 hpte_t *hptep;
344 unsigned long hpte_v; 343 unsigned long hpte_v;
@@ -351,13 +350,7 @@ static void native_flush_hash_range(unsigned long context,
351 350
352 j = 0; 351 j = 0;
353 for (i = 0; i < number; i++) { 352 for (i = 0; i < number; i++) {
354 if (batch->addr[i] < KERNELBASE) 353 va = batch->vaddr[j];
355 vsid = get_vsid(context, batch->addr[i]);
356 else
357 vsid = get_kernel_vsid(batch->addr[i]);
358
359 va = (vsid << 28) | (batch->addr[i] & 0x0fffffff);
360 batch->vaddr[j] = va;
361 if (large) 354 if (large)
362 vpn = va >> HPAGE_SHIFT; 355 vpn = va >> HPAGE_SHIFT;
363 else 356 else