diff options
author | Olivier DANET <odanet@caramail.com> | 2013-07-10 16:56:10 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-07-28 19:29:41 -0400 |
commit | b692b29868295c504e1e9c306762aa89ab3997a2 (patch) | |
tree | 5880eb9c32d3971d2be46b291f7d05011bf91cfe /arch/sparc/mm/swift.S | |
parent | 9fa65e09730a2e63c5b45d008f269b2b271b74bc (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.S | 8 |
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 |
107 | swift_flush_cache_range: | 107 | swift_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 |
118 | swift_flush_cache_page: | 118 | swift_flush_cache_page: |
119 | ld [%o0 + 0x0], %o0 /* XXX vma->vm_mm, GROSS XXX */ | 119 | ld [%o0 + VMA_VM_MM], %o0 |
120 | 70: | 120 | 70: |
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 |
221 | swift_flush_tlb_range: | 221 | swift_flush_tlb_range: |
222 | ld [%o0 + 0x00], %o0 /* XXX vma->vm_mm GROSS XXX */ | 222 | ld [%o0 + VMA_VM_MM], %o0 |
223 | swift_flush_tlb_mm: | 223 | swift_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 |
235 | swift_flush_tlb_page: | 235 | swift_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 |