diff options
author | Daniel Jacobowitz <drow@false.org> | 2006-08-30 10:06:39 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-08-30 10:06:39 -0400 |
commit | 0355b3e039c621d15321fd0d5cf72d8bdb8f723d (patch) | |
tree | 005fd5c6e3e78ec39ee2a3924371cbdc69b34fac /arch/arm/vfp/vfphw.S | |
parent | dc709bd190c130b299ac19d596594256265c042a (diff) |
[ARM] 3750/3: Fix double VFP emulation for EABI kernels
Patch from Daniel Jacobowitz
vfp_put_double didn't work in a CONFIG_AEABI kernel. By swapping
the arguments, we arrange for them to be in the same place regardless
of ABI. I made the same change to vfp_put_float for consistency.
Signed-off-by: Daniel Jacobowitz <dan@codesourcery.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/vfp/vfphw.S')
-rw-r--r-- | arch/arm/vfp/vfphw.S | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/arm/vfp/vfphw.S b/arch/arm/vfp/vfphw.S index eb683cd77163..e51e6679c402 100644 --- a/arch/arm/vfp/vfphw.S +++ b/arch/arm/vfp/vfphw.S | |||
@@ -178,12 +178,12 @@ vfp_get_float: | |||
178 | 178 | ||
179 | .globl vfp_put_float | 179 | .globl vfp_put_float |
180 | vfp_put_float: | 180 | vfp_put_float: |
181 | add pc, pc, r0, lsl #3 | 181 | add pc, pc, r1, lsl #3 |
182 | mov r0, r0 | 182 | mov r0, r0 |
183 | .irp dr,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 | 183 | .irp dr,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 |
184 | mcr p10, 0, r1, c\dr, c0, 0 @ fmsr r0, s0 | 184 | mcr p10, 0, r0, c\dr, c0, 0 @ fmsr r0, s0 |
185 | mov pc, lr | 185 | mov pc, lr |
186 | mcr p10, 0, r1, c\dr, c0, 4 @ fmsr r0, s1 | 186 | mcr p10, 0, r0, c\dr, c0, 4 @ fmsr r0, s1 |
187 | mov pc, lr | 187 | mov pc, lr |
188 | .endr | 188 | .endr |
189 | 189 | ||
@@ -203,9 +203,9 @@ vfp_get_double: | |||
203 | 203 | ||
204 | .globl vfp_put_double | 204 | .globl vfp_put_double |
205 | vfp_put_double: | 205 | vfp_put_double: |
206 | add pc, pc, r0, lsl #3 | 206 | add pc, pc, r2, lsl #3 |
207 | mov r0, r0 | 207 | mov r0, r0 |
208 | .irp dr,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 | 208 | .irp dr,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 |
209 | fmdrr d\dr, r1, r2 | 209 | fmdrr d\dr, r0, r1 |
210 | mov pc, lr | 210 | mov pc, lr |
211 | .endr | 211 | .endr |