1 /**************************************************************************** 2 **************************************************************************** 3 *** 4 *** This header was automatically generated from a Linux kernel header 5 *** of the same name, to make information necessary for userspace to 6 *** call into the kernel available to libc. It contains only constants, 7 *** structures, and macros generated from the original header, and thus, 8 *** contains no copyrightable information. 9 *** 10 **************************************************************************** 11 ****************************************************************************/ 12 #ifndef __ASM_ARM_FPSTATE_H 13 #define __ASM_ARM_FPSTATE_H 14 15 #ifndef __ASSEMBLY__ 16 17 struct vfp_hard_struct { 18 __u64 fpregs[16]; 19 #if __LINUX_ARM_ARCH__ < 6 20 __u32 fpmx_state; 21 #endif 22 __u32 fpexc; 23 __u32 fpscr; 24 25 __u32 fpinst; 26 __u32 fpinst2; 27 }; 28 29 union vfp_state { 30 struct vfp_hard_struct hard; 31 }; 32 33 #define FP_HARD_SIZE 35 34 35 struct fp_hard_struct { 36 unsigned int save[FP_HARD_SIZE]; 37 }; 38 39 #define FP_SOFT_SIZE 35 40 41 struct fp_soft_struct { 42 unsigned int save[FP_SOFT_SIZE]; 43 }; 44 45 #define IWMMXT_SIZE 0x98 46 47 struct iwmmxt_struct { 48 unsigned int save[IWMMXT_SIZE / sizeof(unsigned int)]; 49 }; 50 51 union fp_state { 52 struct fp_hard_struct hard; 53 struct fp_soft_struct soft; 54 }; 55 56 #define FP_SIZE (sizeof(union fp_state) / sizeof(int)) 57 58 struct crunch_state { 59 unsigned int mvdx[16][2]; 60 unsigned int mvax[4][3]; 61 unsigned int dspsc[2]; 62 }; 63 64 #define CRUNCH_SIZE sizeof(struct crunch_state) 65 66 #endif 67 68 #endif 69