Эх сурвалжийг харах

sh: Provide the FPSCR init through AT_FPUCW.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt 17 жил өмнө
parent
commit
98c4ecde9d

+ 6 - 0
include/asm-sh/auxvec.h

@@ -6,6 +6,12 @@
  * for more of them.
  * for more of them.
  */
  */
 
 
+/*
+ * This entry gives some information about the FPU initialization
+ * performed by the kernel.
+ */
+#define AT_FPUCW		18	/* Used FPU control word.  */
+
 #ifdef CONFIG_VSYSCALL
 #ifdef CONFIG_VSYSCALL
 /*
 /*
  * Only define this in the vsyscall case, the entry point to
  * Only define this in the vsyscall case, the entry point to

+ 10 - 1
include/asm-sh/elf.h

@@ -169,13 +169,22 @@ extern void __kernel_vsyscall;
 #define VSYSCALL_AUX_ENT
 #define VSYSCALL_AUX_ENT
 #endif /* CONFIG_VSYSCALL */
 #endif /* CONFIG_VSYSCALL */
 
 
+#ifdef CONFIG_SH_FPU
+#define FPU_AUX_ENT	NEW_AUX_ENT(AT_FPUCW, FPSCR_INIT)
+#else
+#define FPU_AUX_ENT
+#endif
+
 extern int l1i_cache_shape, l1d_cache_shape, l2_cache_shape;
 extern int l1i_cache_shape, l1d_cache_shape, l2_cache_shape;
 
 
 /* update AT_VECTOR_SIZE_ARCH if the number of NEW_AUX_ENT entries changes */
 /* update AT_VECTOR_SIZE_ARCH if the number of NEW_AUX_ENT entries changes */
 #define ARCH_DLINFO						\
 #define ARCH_DLINFO						\
 do {								\
 do {								\
+	/* Optional FPU initialization */			\
+	FPU_AUX_ENT;						\
+								\
 	/* Optional vsyscall entry */				\
 	/* Optional vsyscall entry */				\
-	VSYSCALL_AUX_ENT					\
+	VSYSCALL_AUX_ENT;					\
 								\
 								\
 	/* Cache desc */					\
 	/* Cache desc */					\
 	NEW_AUX_ENT(AT_L1I_CACHESHAPE, l1i_cache_shape);	\
 	NEW_AUX_ENT(AT_L1I_CACHESHAPE, l1i_cache_shape);	\

+ 1 - 1
include/asm-sh/system.h

@@ -12,7 +12,7 @@
 #include <asm/types.h>
 #include <asm/types.h>
 #include <asm/ptrace.h>
 #include <asm/ptrace.h>
 
 
-#define AT_VECTOR_SIZE_ARCH 4 /* entries in ARCH_DLINFO */
+#define AT_VECTOR_SIZE_ARCH 5 /* entries in ARCH_DLINFO */
 
 
 #if defined(CONFIG_CPU_SH4A) || defined(CONFIG_CPU_SH5)
 #if defined(CONFIG_CPU_SH4A) || defined(CONFIG_CPU_SH5)
 #define __icbi()			\
 #define __icbi()			\