|
@@ -238,7 +238,13 @@ typedef struct {
|
|
|
unsigned long seg;
|
|
|
} mm_segment_t;
|
|
|
|
|
|
-#define ARCH_MIN_TASKALIGN 8
|
|
|
+#ifdef CONFIG_CPU_HAS_MSA
|
|
|
+# define ARCH_MIN_TASKALIGN 16
|
|
|
+# define FPU_ALIGN __aligned(16)
|
|
|
+#else
|
|
|
+# define ARCH_MIN_TASKALIGN 8
|
|
|
+# define FPU_ALIGN
|
|
|
+#endif
|
|
|
|
|
|
struct mips_abi;
|
|
|
|
|
@@ -255,7 +261,7 @@ struct thread_struct {
|
|
|
unsigned long cp0_status;
|
|
|
|
|
|
/* Saved fpu/fpu emulator stuff. */
|
|
|
- struct mips_fpu_struct fpu;
|
|
|
+ struct mips_fpu_struct fpu FPU_ALIGN;
|
|
|
#ifdef CONFIG_MIPS_MT_FPAFF
|
|
|
/* Emulated instruction count */
|
|
|
unsigned long emulated_fp;
|