]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/asm-mips/processor.h
V4L/DVB (4925): Corrected and separated the Kconfig for usbvision
[linux-2.6-omap-h63xx.git] / include / asm-mips / processor.h
index 786651340de18d540d9603fbdcac59e16403010e..5f80ba71ab92b3ad17778e483a8cad854d728c24 100644 (file)
@@ -11,7 +11,6 @@
 #ifndef _ASM_PROCESSOR_H
 #define _ASM_PROCESSOR_H
 
-#include <linux/config.h>
 #include <linux/cpumask.h>
 #include <linux/threads.h>
 
@@ -71,11 +70,6 @@ extern unsigned int vced_count, vcei_count;
 
 typedef __u64 fpureg_t;
 
-struct mips_fpu_hard_struct {
-       fpureg_t        fpr[NUM_FPU_REGS];
-       unsigned int    fcr31;
-};
-
 /*
  * It would be nice to add some more fields for emulator statistics, but there
  * are a number of fixed offsets in offset.h and elsewhere that would have to
@@ -83,18 +77,13 @@ struct mips_fpu_hard_struct {
  * the FPU emulator for now.  See asm-mips/fpu_emulator.h.
  */
 
-struct mips_fpu_soft_struct {
+struct mips_fpu_struct {
        fpureg_t        fpr[NUM_FPU_REGS];
        unsigned int    fcr31;
 };
 
-union mips_fpu_union {
-        struct mips_fpu_hard_struct hard;
-        struct mips_fpu_soft_struct soft;
-};
-
 #define INIT_FPU { \
-       {{0,},} \
+       {0,} \
 }
 
 #define NUM_DSP_REGS   6
@@ -133,7 +122,13 @@ struct thread_struct {
        unsigned long cp0_status;
 
        /* Saved fpu/fpu emulator stuff. */
-       union mips_fpu_union fpu;
+       struct mips_fpu_struct fpu;
+#ifdef CONFIG_MIPS_MT_FPAFF
+       /* Emulated instruction count */
+       unsigned long emulated_fp;
+       /* Saved per-thread scheduler affinity mask */
+       cpumask_t user_cpus_allowed;
+#endif /* CONFIG_MIPS_MT_FPAFF */
 
        /* Saved state of the DSP ASE, if available. */
        struct mips_dsp_state dsp;
@@ -159,6 +154,12 @@ struct thread_struct {
 #define MF_N32         MF_32BIT_ADDR
 #define MF_N64         0
 
+#ifdef CONFIG_MIPS_MT_FPAFF
+#define FPAFF_INIT 0, INIT_CPUMASK,
+#else
+#define FPAFF_INIT
+#endif /* CONFIG_MIPS_MT_FPAFF */
+
 #define INIT_THREAD  { \
         /* \
          * saved main processor registers \
@@ -173,6 +174,10 @@ struct thread_struct {
         * saved fpu/fpu emulator stuff \
         */ \
        INIT_FPU, \
+       /* \
+        * fpu affinity state (null if not FPAFF) \
+        */ \
+       FPAFF_INIT \
        /* \
         * saved dsp/dsp emulator stuff \
         */ \