diff options
| author | Catalin Marinas <catalin.marinas@arm.com> | 2006-04-10 16:32:42 -0400 |
|---|---|---|
| committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-04-10 16:32:42 -0400 |
| commit | bb54a335ae6d282a4f177c7b35cd149aa9b0b9be (patch) | |
| tree | 66dc46a556ab5a11748a42a069b45aa32c4c126a | |
| parent | 1320a80d1d2587545f39bc0d2dc3adaf390250ef (diff) | |
[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>
| -rw-r--r-- | include/asm-arm/fpstate.h | 2 | ||||
| -rw-r--r-- | include/asm-arm/vfpmacros.h | 8 |
2 files changed, 10 insertions, 0 deletions
diff --git a/include/asm-arm/fpstate.h b/include/asm-arm/fpstate.h index 6246bf83627d..52bae088a185 100644 --- a/include/asm-arm/fpstate.h +++ b/include/asm-arm/fpstate.h | |||
| @@ -26,7 +26,9 @@ | |||
| 26 | 26 | ||
| 27 | struct vfp_hard_struct { | 27 | struct vfp_hard_struct { |
| 28 | __u64 fpregs[16]; | 28 | __u64 fpregs[16]; |
| 29 | #if __LINUX_ARM_ARCH__ < 6 | ||
| 29 | __u32 fpmx_state; | 30 | __u32 fpmx_state; |
| 31 | #endif | ||
| 30 | __u32 fpexc; | 32 | __u32 fpexc; |
| 31 | __u32 fpscr; | 33 | __u32 fpscr; |
| 32 | /* | 34 | /* |
diff --git a/include/asm-arm/vfpmacros.h b/include/asm-arm/vfpmacros.h index 15bd6e74c9cf..27fe028b4e72 100644 --- a/include/asm-arm/vfpmacros.h +++ b/include/asm-arm/vfpmacros.h | |||
| @@ -16,10 +16,18 @@ | |||
| 16 | 16 | ||
| 17 | @ read all the working registers back into the VFP | 17 | @ read all the working registers back into the VFP |
| 18 | .macro VFPFLDMIA, base | 18 | .macro VFPFLDMIA, base |
| 19 | #if __LINUX_ARM_ARCH__ < 6 | ||
| 19 | LDC p11, cr0, [\base],#33*4 @ FLDMIAX \base!, {d0-d15} | 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 | .endm | 24 | .endm |
| 21 | 25 | ||
| 22 | @ write all the working registers out of the VFP | 26 | @ write all the working registers out of the VFP |
| 23 | .macro VFPFSTMIA, base | 27 | .macro VFPFSTMIA, base |
| 28 | #if __LINUX_ARM_ARCH__ < 6 | ||
| 24 | STC p11, cr0, [\base],#33*4 @ FSTMIAX \base!, {d0-d15} | 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 | .endm | 33 | .endm |
