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
committerDavid S. Miller <davem@davemloft.net>2013-07-10 16:56:10 -0400
commit961246b4ed8da3bcf4ee1eb9147f341013553e3c (patch)
tree221ac718b5e628c7fcac57e78482810219c64baa /arch/sparc/mm/swift.S
parentaabb9875d02559ab9b928cd6f259a5cc4c21a589 (diff)
[PATCH] sparc32: vm_area_struct access for old Sun SPARCs.
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>
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