diff options
Diffstat (limited to 'arch/sparc64/kernel/tsb.S')
-rw-r--r-- | arch/sparc64/kernel/tsb.S | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/sparc64/kernel/tsb.S b/arch/sparc64/kernel/tsb.S index 667dcb077be7..be8f0892d721 100644 --- a/arch/sparc64/kernel/tsb.S +++ b/arch/sparc64/kernel/tsb.S | |||
@@ -56,10 +56,11 @@ tsb_reload: | |||
56 | /* If it is larger than the base page size, don't | 56 | /* If it is larger than the base page size, don't |
57 | * bother putting it into the TSB. | 57 | * bother putting it into the TSB. |
58 | */ | 58 | */ |
59 | srlx %g5, 32, %g2 | 59 | sethi %hi(_PAGE_ALL_SZ_BITS), %g7 |
60 | sethi %hi(_PAGE_ALL_SZ_BITS >> 32), %g7 | 60 | ldx [%g7 + %lo(_PAGE_ALL_SZ_BITS)], %g7 |
61 | and %g2, %g7, %g2 | 61 | and %g5, %g7, %g2 |
62 | sethi %hi(_PAGE_SZBITS >> 32), %g7 | 62 | sethi %hi(_PAGE_SZBITS), %g7 |
63 | ldx [%g7 + %lo(_PAGE_SZBITS)], %g7 | ||
63 | cmp %g2, %g7 | 64 | cmp %g2, %g7 |
64 | bne,a,pn %xcc, tsb_tlb_reload | 65 | bne,a,pn %xcc, tsb_tlb_reload |
65 | TSB_STORE(%g1, %g0) | 66 | TSB_STORE(%g1, %g0) |