]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/asm-arm/fpstate.h
checkpatch: usb_free_urb() can take NULL
[linux-2.6-omap-h63xx.git] / include / asm-arm / fpstate.h
index 132c3c5628b2a4b4d5be60bee7f1a41f04e627d0..392eb53323238d16a6b9e80a8363960b06c1103e 100644 (file)
 /*
  * VFP storage area has:
  *  - FPEXC, FPSCR, FPINST and FPINST2.
- *  - 16 double precision data registers
- *  - an implementation-dependant word of state for FLDMX/FSTMX
+ *  - 16 or 32 double precision data registers
+ *  - an implementation-dependant word of state for FLDMX/FSTMX (pre-ARMv6)
  * 
  *  FPEXC will always be non-zero once the VFP has been used in this process.
  */
 
 struct vfp_hard_struct {
+#ifdef CONFIG_VFPv3
+       __u64 fpregs[32];
+#else
        __u64 fpregs[16];
+#endif
 #if __LINUX_ARM_ARCH__ < 6
        __u32 fpmx_state;
 #endif
@@ -35,6 +39,10 @@ struct vfp_hard_struct {
         */
        __u32 fpinst;
        __u32 fpinst2;
+
+#ifdef CONFIG_SMP
+       __u32 cpu;
+#endif
 };
 
 union vfp_state {
@@ -72,6 +80,14 @@ union fp_state {
 
 #define FP_SIZE (sizeof(union fp_state) / sizeof(int))
 
+struct crunch_state {
+       unsigned int    mvdx[16][2];
+       unsigned int    mvax[4][3];
+       unsigned int    dspsc[2];
+};
+
+#define CRUNCH_SIZE    sizeof(struct crunch_state)
+
 #endif
 
 #endif