diff options
-rw-r--r-- | include/asm-sh/auxvec.h | 6 | ||||
-rw-r--r-- | include/asm-sh/elf.h | 11 | ||||
-rw-r--r-- | include/asm-sh/system.h | 2 |
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 | |||
172 | extern int l1i_cache_shape, l1d_cache_shape, l2_cache_shape; | 178 | extern 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 \ |
176 | do { \ | 182 | do { \ |
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() \ |