aboutsummaryrefslogtreecommitdiffstats
path: root/arch/frv/kernel/process.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/frv/kernel/process.c')
-rw-r--r--arch/frv/kernel/process.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/arch/frv/kernel/process.c b/arch/frv/kernel/process.c
index eeeb1e2641d5..515a5cea5469 100644
--- a/arch/frv/kernel/process.c
+++ b/arch/frv/kernel/process.c
@@ -10,6 +10,7 @@
10 * 2 of the License, or (at your option) any later version. 10 * 2 of the License, or (at your option) any later version.
11 */ 11 */
12 12
13#include <linux/module.h>
13#include <linux/errno.h> 14#include <linux/errno.h>
14#include <linux/sched.h> 15#include <linux/sched.h>
15#include <linux/kernel.h> 16#include <linux/kernel.h>
@@ -25,6 +26,7 @@
25#include <linux/reboot.h> 26#include <linux/reboot.h>
26#include <linux/interrupt.h> 27#include <linux/interrupt.h>
27 28
29#include <asm/asm-offsets.h>
28#include <asm/uaccess.h> 30#include <asm/uaccess.h>
29#include <asm/system.h> 31#include <asm/system.h>
30#include <asm/setup.h> 32#include <asm/setup.h>
@@ -38,6 +40,9 @@ asmlinkage void ret_from_fork(void);
38 40
39#include <asm/pgalloc.h> 41#include <asm/pgalloc.h>
40 42
43void (*pm_power_off)(void);
44EXPORT_SYMBOL(pm_power_off);
45
41struct task_struct *alloc_task_struct(void) 46struct task_struct *alloc_task_struct(void)
42{ 47{
43 struct task_struct *p = kmalloc(THREAD_SIZE, GFP_KERNEL); 48 struct task_struct *p = kmalloc(THREAD_SIZE, GFP_KERNEL);
@@ -203,7 +208,7 @@ int copy_thread(int nr, unsigned long clone_flags,
203 208
204 regs0 = __kernel_frame0_ptr; 209 regs0 = __kernel_frame0_ptr;
205 childregs0 = (struct pt_regs *) 210 childregs0 = (struct pt_regs *)
206 (task_stack_page(p) + THREAD_SIZE - USER_CONTEXT_SIZE); 211 (task_stack_page(p) + THREAD_SIZE - FRV_FRAME0_SIZE);
207 childregs = childregs0; 212 childregs = childregs0;
208 213
209 /* set up the userspace frame (the only place that the USP is stored) */ 214 /* set up the userspace frame (the only place that the USP is stored) */
@@ -367,3 +372,11 @@ int elf_check_arch(const struct elf32_hdr *hdr)
367 372
368 return 1; 373 return 1;
369} 374}
375
376int dump_fpu(struct pt_regs *regs, elf_fpregset_t *fpregs)
377{
378 memcpy(fpregs,
379 &current->thread.user->f,
380 sizeof(current->thread.user->f));
381 return 1;
382}