diff options
Diffstat (limited to 'arch/sparc/mm/tsb.c')
-rw-r--r-- | arch/sparc/mm/tsb.c | 7 |
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; |