aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2007-12-10 02:21:57 -0500
committerPaul Mundt <lethal@linux-sh.org>2008-01-27 23:19:00 -0500
commit98c4ecde9da14fafbcf1b6c025b08342a327e644 (patch)
tree62777e19b70830cd5ecaa7b92ac643033cb161bd
parenta9f1365e5e4963705f85a6381cbed74c5615dbac (diff)
sh: Provide the FPSCR init through AT_FPUCW.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
-rw-r--r--include/asm-sh/auxvec.h6
-rw-r--r--include/asm-sh/elf.h11
-rw-r--r--include/asm-sh/system.h2
3 files changed, 17 insertions, 2 deletions
diff --git a/include/asm-sh/auxvec.h b/include/asm-sh/auxvec.h
index 4069858f8131..a6b9d4f4859e 100644
--- a/include/asm-sh/auxvec.h
+++ b/include/asm-sh/auxvec.h
@@ -6,6 +6,12 @@
6 * for more of them. 6 * for more of them.
7 */ 7 */
8 8
9/*
10 * This entry gives some information about the FPU initialization
11 * performed by the kernel.
12 */
13#define AT_FPUCW 18 /* Used FPU control word. */
14
9#ifdef CONFIG_VSYSCALL 15#ifdef CONFIG_VSYSCALL
10/* 16/*
11 * Only define this in the vsyscall case, the entry point to 17 * Only define this in the vsyscall case, the entry point to
diff --git a/include/asm-sh/elf.h b/include/asm-sh/elf.h
index 9a95f8cb2e13..e00a58cb476c 100644
--- a/include/asm-sh/elf.h
+++ b/include/asm-sh/elf.h
@@ -169,13 +169,22 @@ extern void __kernel_vsyscall;
169#define VSYSCALL_AUX_ENT 169#define VSYSCALL_AUX_ENT
170#endif /* CONFIG_VSYSCALL */ 170#endif /* CONFIG_VSYSCALL */
171 171
172#ifdef CONFIG_SH_FPU
173#define FPU_AUX_ENT NEW_AUX_ENT(AT_FPUCW, FPSCR_INIT)
174#else
175#define FPU_AUX_ENT
176#endif
177
172extern int l1i_cache_shape, l1d_cache_shape, l2_cache_shape; 178extern int l1i_cache_shape, l1d_cache_shape, l2_cache_shape;
173 179
174/* update AT_VECTOR_SIZE_ARCH if the number of NEW_AUX_ENT entries changes */ 180/* update AT_VECTOR_SIZE_ARCH if the number of NEW_AUX_ENT entries changes */
175#define ARCH_DLINFO \ 181#define ARCH_DLINFO \
176do { \ 182do { \
183 /* Optional FPU initialization */ \
184 FPU_AUX_ENT; \
185 \
177 /* Optional vsyscall entry */ \ 186 /* Optional vsyscall entry */ \
178 VSYSCALL_AUX_ENT \ 187 VSYSCALL_AUX_ENT; \
179 \ 188 \
180 /* Cache desc */ \ 189 /* Cache desc */ \
181 NEW_AUX_ENT(AT_L1I_CACHESHAPE, l1i_cache_shape); \ 190 NEW_AUX_ENT(AT_L1I_CACHESHAPE, l1i_cache_shape); \
diff --git a/include/asm-sh/system.h b/include/asm-sh/system.h
index 84592555ba2a..772cd1a0a674 100644
--- a/include/asm-sh/system.h
+++ b/include/asm-sh/system.h
@@ -12,7 +12,7 @@
12#include <asm/types.h> 12#include <asm/types.h>
13#include <asm/ptrace.h> 13#include <asm/ptrace.h>
14 14
15#define AT_VECTOR_SIZE_ARCH 4 /* entries in ARCH_DLINFO */ 15#define AT_VECTOR_SIZE_ARCH 5 /* entries in ARCH_DLINFO */
16 16
17#if defined(CONFIG_CPU_SH4A) || defined(CONFIG_CPU_SH5) 17#if defined(CONFIG_CPU_SH4A) || defined(CONFIG_CPU_SH5)
18#define __icbi() \ 18#define __icbi() \