Commit bb54a335ae6d282a4f177c7b35cd149aa9b0b9be

Authored by Catalin Marinas
Committed by Russell King
1 parent 1320a80d1d

[ARM] 3472/1: Use the D variants of FLDMIA/FSTMIA on ARMv6

Patch from Catalin Marinas

The X variants are deprecated starting with ARMv6. Using the D variants,
the fpmx_state in vfp_hard_struct is no longer needed.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

Showing 2 changed files with 10 additions and 0 deletions Side-by-side Diff

include/asm-arm/fpstate.h
... ... @@ -26,7 +26,9 @@
26 26  
27 27 struct vfp_hard_struct {
28 28 __u64 fpregs[16];
  29 +#if __LINUX_ARM_ARCH__ < 6
29 30 __u32 fpmx_state;
  31 +#endif
30 32 __u32 fpexc;
31 33 __u32 fpscr;
32 34 /*
include/asm-arm/vfpmacros.h
... ... @@ -16,11 +16,19 @@
16 16  
17 17 @ read all the working registers back into the VFP
18 18 .macro VFPFLDMIA, base
  19 +#if __LINUX_ARM_ARCH__ < 6
19 20 LDC p11, cr0, [\base],#33*4 @ FLDMIAX \base!, {d0-d15}
  21 +#else
  22 + LDC p11, cr0, [\base],#32*4 @ FLDMIAD \base!, {d0-d15}
  23 +#endif
20 24 .endm
21 25  
22 26 @ write all the working registers out of the VFP
23 27 .macro VFPFSTMIA, base
  28 +#if __LINUX_ARM_ARCH__ < 6
24 29 STC p11, cr0, [\base],#33*4 @ FSTMIAX \base!, {d0-d15}
  30 +#else
  31 + STC p11, cr0, [\base],#32*4 @ FSTMIAD \base!, {d0-d15}
  32 +#endif
25 33 .endm