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/ktlb.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/ktlb.S')
-rw-r--r-- | arch/sparc64/kernel/ktlb.S | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/arch/sparc64/kernel/ktlb.S b/arch/sparc64/kernel/ktlb.S index 2d333ab4b91b..47dfd45971e8 100644 --- a/arch/sparc64/kernel/ktlb.S +++ b/arch/sparc64/kernel/ktlb.S | |||
@@ -131,16 +131,8 @@ kvmap_dtlb_4v: | |||
131 | brgez,pn %g4, kvmap_dtlb_nonlinear | 131 | brgez,pn %g4, kvmap_dtlb_nonlinear |
132 | nop | 132 | nop |
133 | 133 | ||
134 | #define KERN_HIGHBITS ((_PAGE_VALID|_PAGE_SZ4MB)^0xfffff80000000000) | 134 | sethi %hi(kern_linear_pte_xor), %g2 |
135 | #define KERN_LOWBITS (_PAGE_CP | _PAGE_CV | _PAGE_P | _PAGE_W) | 135 | ldx [%g2 + %lo(kern_linear_pte_xor)], %g2 |
136 | |||
137 | sethi %uhi(KERN_HIGHBITS), %g2 | ||
138 | or %g2, %ulo(KERN_HIGHBITS), %g2 | ||
139 | sllx %g2, 32, %g2 | ||
140 | or %g2, KERN_LOWBITS, %g2 | ||
141 | |||
142 | #undef KERN_HIGHBITS | ||
143 | #undef KERN_LOWBITS | ||
144 | 136 | ||
145 | .globl kvmap_linear_patch | 137 | .globl kvmap_linear_patch |
146 | kvmap_linear_patch: | 138 | kvmap_linear_patch: |