From 98c4ecde9da14fafbcf1b6c025b08342a327e644 Mon Sep 17 00:00:00 2001 From: Paul Mundt Date: Mon, 10 Dec 2007 16:21:57 +0900 Subject: sh: Provide the FPSCR init through AT_FPUCW. Signed-off-by: Paul Mundt --- include/asm-sh/auxvec.h | 6 ++++++ include/asm-sh/elf.h | 11 ++++++++++- include/asm-sh/system.h | 2 +- 3 files changed, 17 insertions(+), 2 deletions(-) (limited to 'include') 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 @@ * 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 /* * 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; #define VSYSCALL_AUX_ENT #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; /* update AT_VECTOR_SIZE_ARCH if the number of NEW_AUX_ENT entries changes */ #define ARCH_DLINFO \ do { \ + /* Optional FPU initialization */ \ + FPU_AUX_ENT; \ + \ /* Optional vsyscall entry */ \ - VSYSCALL_AUX_ENT \ + VSYSCALL_AUX_ENT; \ \ /* Cache desc */ \ 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 @@ #include #include -#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) #define __icbi() \ -- cgit v1.2.3-59-g8ed1b