aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sparc/mm/tsb.c')
-rw-r--r--arch/sparc/mm/tsb.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/sparc/mm/tsb.c b/arch/sparc/mm/tsb.c
index 9cdeca0fa955..266411291634 100644
--- a/arch/sparc/mm/tsb.c
+++ b/arch/sparc/mm/tsb.c
@@ -451,7 +451,8 @@ retry_tsb_alloc:
451 extern void copy_tsb(unsigned long old_tsb_base, 451 extern void copy_tsb(unsigned long old_tsb_base,
452 unsigned long old_tsb_size, 452 unsigned long old_tsb_size,
453 unsigned long new_tsb_base, 453 unsigned long new_tsb_base,
454 unsigned long new_tsb_size); 454 unsigned long new_tsb_size,
455 unsigned long page_size_shift);
455 unsigned long old_tsb_base = (unsigned long) old_tsb; 456 unsigned long old_tsb_base = (unsigned long) old_tsb;
456 unsigned long new_tsb_base = (unsigned long) new_tsb; 457 unsigned long new_tsb_base = (unsigned long) new_tsb;
457 458
@@ -459,7 +460,9 @@ retry_tsb_alloc:
459 old_tsb_base = __pa(old_tsb_base); 460 old_tsb_base = __pa(old_tsb_base);
460 new_tsb_base = __pa(new_tsb_base); 461 new_tsb_base = __pa(new_tsb_base);
461 } 462 }
462 copy_tsb(old_tsb_base, old_size, new_tsb_base, new_size); 463 copy_tsb(old_tsb_base, old_size, new_tsb_base, new_size,
464 tsb_index == MM_TSB_BASE ?
465 PAGE_SHIFT : REAL_HPAGE_SHIFT);
463 } 466 }
464 467
465 mm->context.tsb_block[tsb_index].tsb = new_tsb; 468 mm->context.tsb_block[tsb_index].tsb = new_tsb;