summaryrefslogtreecommitdiff
path: root/arch/arm/kernel/process.c
diff options
context:
space:
mode:
authorRussell King <rmk@flint.arm.linux.org.uk>2004-06-18 15:33:48 +0100
committerRussell King <rmk@flint.arm.linux.org.uk>2004-06-18 15:33:48 +0100
commit451436b7bbb20add6d09d158f2ddf1ffcd7cb360 (patch)
treec4a1a651c7ed2f766164d1ef5a471e5ea204003b /arch/arm/kernel/process.c
parentcda97ee3b4935547f7a547f3d7ad8b0dd07bc8ee (diff)
[ARM] Add support code for ARM hardware vector floating point
This cset adds the code to handle the hardware vector floating point unit found on some ARM926 and later CPUs. The hardware provides an implementation for the common cases, and bounces exceptions for other cases, which have to be handled in software, and signalling SIGFPE as appropriate.
Diffstat (limited to 'arch/arm/kernel/process.c')
-rw-r--r--arch/arm/kernel/process.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c
index 8d9db749efde..56498dbf7605 100644
--- a/arch/arm/kernel/process.c
+++ b/arch/arm/kernel/process.c
@@ -314,10 +314,16 @@ void flush_thread(void)
memset(thread->used_cp, 0, sizeof(thread->used_cp));
memset(&tsk->thread.debug, 0, sizeof(struct debug_info));
fp_init(&thread->fpstate);
+#if defined(CONFIG_VFP)
+ vfp_flush_thread(&thread->vfpstate);
+#endif
}
void release_thread(struct task_struct *dead_task)
{
+#if defined(CONFIG_VFP)
+ vfp_release_thread(&dead_task->thread_info->vfpstate);
+#endif
}
asmlinkage void ret_from_fork(void) __asm__("ret_from_fork");