aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc/mm/swift.S
diff options
context:
space:
mode:
authorOlivier DANET <odanet@caramail.com>2013-07-10 16:56:10 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-07-28 19:29:41 -0400
commitb692b29868295c504e1e9c306762aa89ab3997a2 (patch)
tree5880eb9c32d3971d2be46b291f7d05011bf91cfe /arch/sparc/mm/swift.S
parent9fa65e09730a2e63c5b45d008f269b2b271b74bc (diff)
sparc32: vm_area_struct access for old Sun SPARCs.
upstream commit 961246b4ed8da3bcf4ee1eb9147f341013553e3c. Commit e4c6bfd2d79d063017ab19a18915f0bc759f32d9 ("mm: rearrange vm_area_struct for fewer cache misses") changed the layout of the vm_area_struct structure, it broke several SPARC32 assembly routines which used numerical constants for accessing the vm_mm field. This patch defines the VMA_VM_MM constant to replace the immediate values. Signed-off-by: Olivier DANET <odanet@caramail.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch/sparc/mm/swift.S')
-rw-r--r--arch/sparc/mm/swift.S8
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/sparc/mm/swift.S b/arch/sparc/mm/swift.S
index c801c3953a00..5d2b88d39424 100644
--- a/arch/sparc/mm/swift.S
+++ b/arch/sparc/mm/swift.S
@@ -105,7 +105,7 @@ swift_flush_cache_mm_out:
105 105
106 .globl swift_flush_cache_range 106 .globl swift_flush_cache_range
107swift_flush_cache_range: 107swift_flush_cache_range:
108 ld [%o0 + 0x0], %o0 /* XXX vma->vm_mm, GROSS XXX */ 108 ld [%o0 + VMA_VM_MM], %o0
109 sub %o2, %o1, %o2 109 sub %o2, %o1, %o2
110 sethi %hi(4096), %o3 110 sethi %hi(4096), %o3
111 cmp %o2, %o3 111 cmp %o2, %o3
@@ -116,7 +116,7 @@ swift_flush_cache_range:
116 116
117 .globl swift_flush_cache_page 117 .globl swift_flush_cache_page
118swift_flush_cache_page: 118swift_flush_cache_page:
119 ld [%o0 + 0x0], %o0 /* XXX vma->vm_mm, GROSS XXX */ 119 ld [%o0 + VMA_VM_MM], %o0
12070: 12070:
121 ld [%o0 + AOFF_mm_context], %g2 121 ld [%o0 + AOFF_mm_context], %g2
122 cmp %g2, -1 122 cmp %g2, -1
@@ -219,7 +219,7 @@ swift_flush_sig_insns:
219 .globl swift_flush_tlb_range 219 .globl swift_flush_tlb_range
220 .globl swift_flush_tlb_all 220 .globl swift_flush_tlb_all
221swift_flush_tlb_range: 221swift_flush_tlb_range:
222 ld [%o0 + 0x00], %o0 /* XXX vma->vm_mm GROSS XXX */ 222 ld [%o0 + VMA_VM_MM], %o0
223swift_flush_tlb_mm: 223swift_flush_tlb_mm:
224 ld [%o0 + AOFF_mm_context], %g2 224 ld [%o0 + AOFF_mm_context], %g2
225 cmp %g2, -1 225 cmp %g2, -1
@@ -233,7 +233,7 @@ swift_flush_tlb_all_out:
233 233
234 .globl swift_flush_tlb_page 234 .globl swift_flush_tlb_page
235swift_flush_tlb_page: 235swift_flush_tlb_page:
236 ld [%o0 + 0x00], %o0 /* XXX vma->vm_mm GROSS XXX */ 236 ld [%o0 + VMA_VM_MM], %o0
237 mov SRMMU_CTX_REG, %g1 237 mov SRMMU_CTX_REG, %g1
238 ld [%o0 + AOFF_mm_context], %o3 238 ld [%o0 + AOFF_mm_context], %o3
239 andn %o1, (PAGE_SIZE - 1), %o1 239 andn %o1, (PAGE_SIZE - 1), %o1