[PATCH] ARM:VFPv3:enable {d16-d31} access
Russell King - ARM Linux
linux at arm.linux.org.uk
Wed May 26 16:10:17 EDT 2010
On Wed, May 26, 2010 at 05:13:24PM +0530, DebBarma, Tarun Kanti wrote:
> 1) With the existing implementation I am not able to correctly
> write/read {d0-d15} but not the {d16-d31} set
>
> 2) With my changes I am able to write/read correctly.
The reason this happens is simple. In vfp_get_double(), we have:
1: fmrrd r0, r1, d\dr
1: mrrc p11, 3, r0, r1, c\dr @ fmrrd r0, r1, d\dr
but in vfp_put_double(), we have:
1: fmdrr d\dr, r0, r1
1: mcrr p11, 3, r1, r2, c\dr @ fmdrr r1, r2, d\dr
Note the different registers. Change "r1, r2" to "r0, r1" and it
should work.
More information about the linux-arm-kernel
mailing list