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 bedf08b22a47..0d4b998c7d7b 100644 --- a/arch/sparc/mm/tsb.c +++ b/arch/sparc/mm/tsb.c | |||
@@ -496,7 +496,8 @@ retry_tsb_alloc: | |||
496 | extern void copy_tsb(unsigned long old_tsb_base, | 496 | extern void copy_tsb(unsigned long old_tsb_base, |
497 | unsigned long old_tsb_size, | 497 | unsigned long old_tsb_size, |
498 | unsigned long new_tsb_base, | 498 | unsigned long new_tsb_base, |
499 | unsigned long new_tsb_size); | 499 | unsigned long new_tsb_size, |
500 | unsigned long page_size_shift); | ||
500 | unsigned long old_tsb_base = (unsigned long) old_tsb; | 501 | unsigned long old_tsb_base = (unsigned long) old_tsb; |
501 | unsigned long new_tsb_base = (unsigned long) new_tsb; | 502 | unsigned long new_tsb_base = (unsigned long) new_tsb; |
502 | 503 | ||
@@ -504,7 +505,9 @@ retry_tsb_alloc: | |||
504 | old_tsb_base = __pa(old_tsb_base); | 505 | old_tsb_base = __pa(old_tsb_base); |
505 | new_tsb_base = __pa(new_tsb_base); | 506 | new_tsb_base = __pa(new_tsb_base); |
506 | } | 507 | } |
507 | copy_tsb(old_tsb_base, old_size, new_tsb_base, new_size); | 508 | copy_tsb(old_tsb_base, old_size, new_tsb_base, new_size, |
509 | tsb_index == MM_TSB_BASE ? | ||
510 | PAGE_SHIFT : REAL_HPAGE_SHIFT); | ||
508 | } | 511 | } |
509 | 512 | ||
510 | mm->context.tsb_block[tsb_index].tsb = new_tsb; | 513 | mm->context.tsb_block[tsb_index].tsb = new_tsb; |