diff options
author | David S. Miller <davem@sunset.davemloft.net> | 2006-02-12 00:57:54 -0500 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-03-20 04:12:25 -0500 |
commit | c4bce90ea2069e5a87beac806de3090ab32128d5 (patch) | |
tree | 3983a206c8060ef65ba17945d1c9f69e68d88b3d /arch/sparc64/kernel/tsb.S | |
parent | 490384e752a43aa281ed533e9de2da36df25c337 (diff) |
[SPARC64]: Deal with PTE layout differences in SUN4V.
Yes, you heard it right, they changed the PTE layout for
SUN4V. Ho hum...
This is the simple and inefficient way to support this.
It'll get optimized, don't worry.
Signed-off-by: David S. Miller <davem@davemloft.net>
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) |