]> err.no Git - linux-2.6/blobdiff - arch/sh/kernel/process_64.c
Merge branch 'sa1100'
[linux-2.6] / arch / sh / kernel / process_64.c
index cff3b7dc9c563e2fec79cf64aec1143d161101da..0283d8133075b0507d04d5ca5417a3a6c1425017 100644 (file)
@@ -28,6 +28,7 @@
 #include <asm/uaccess.h>
 #include <asm/pgtable.h>
 #include <asm/mmu_context.h>
+#include <asm/fpu.h>
 
 struct task_struct *last_task_used_math = NULL;
 
@@ -623,6 +624,7 @@ extern void interruptible_sleep_on(wait_queue_head_t *q);
 
 #define mid_sched      ((unsigned long) interruptible_sleep_on)
 
+#ifdef CONFIG_FRAME_POINTER
 static int in_sh64_switch_to(unsigned long pc)
 {
        extern char __sh64_switch_to_end;
@@ -631,12 +633,10 @@ static int in_sh64_switch_to(unsigned long pc)
        return (pc >= (unsigned long) sh64_switch_to) &&
               (pc < (unsigned long) &__sh64_switch_to_end);
 }
+#endif
 
 unsigned long get_wchan(struct task_struct *p)
 {
-       unsigned long schedule_fp;
-       unsigned long sh64_switch_to_fp;
-       unsigned long schedule_caller_pc;
        unsigned long pc;
 
        if (!p || p == current || p->state == TASK_RUNNING)
@@ -649,6 +649,10 @@ unsigned long get_wchan(struct task_struct *p)
 
 #ifdef CONFIG_FRAME_POINTER
        if (in_sh64_switch_to(pc)) {
+               unsigned long schedule_fp;
+               unsigned long sh64_switch_to_fp;
+               unsigned long schedule_caller_pc;
+
                sh64_switch_to_fp = (long) p->thread.sp;
                /* r14 is saved at offset 4 in the sh64_switch_to frame */
                schedule_fp = *(unsigned long *) (long)(sh64_switch_to_fp + 4);