]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/mips/kernel/process.c
Merge branches 'armv7', 'at91', 'misc' and 'omap' into devel
[linux-2.6-omap-h63xx.git] / arch / mips / kernel / process.c
index 045d987bc683b3da05fe6f5a700c413154d9e5f8..6bdfb5a9fa1a465ee9ec15193999780cea1b8d16 100644 (file)
@@ -26,7 +26,6 @@
 #include <linux/completion.h>
 #include <linux/kallsyms.h>
 
-#include <asm/abi.h>
 #include <asm/bootinfo.h>
 #include <asm/cpu.h>
 #include <asm/dsp.h>
 #include <asm/isadep.h>
 #include <asm/inst.h>
 #include <asm/stacktrace.h>
-#ifdef CONFIG_MIPS_MT_SMTC
-#include <asm/mipsmtregs.h>
-extern void smtc_idle_loop_hook(void);
-#endif /* CONFIG_MIPS_MT_SMTC */
 
 /*
  * The idle thread. There's no useful work to be done, so just try to conserve
@@ -56,9 +51,11 @@ ATTRIB_NORET void cpu_idle(void)
        /* endless idle loop with no priority at all */
        while (1) {
                while (!need_resched()) {
-#ifdef CONFIG_MIPS_MT_SMTC
+#ifdef CONFIG_SMTC_IDLE_HOOK_DEBUG
+                       extern void smtc_idle_loop_hook(void);
+
                        smtc_idle_loop_hook();
-#endif /* CONFIG_MIPS_MT_SMTC */
+#endif
                        if (cpu_wait)
                                (*cpu_wait)();
                }
@@ -68,38 +65,6 @@ ATTRIB_NORET void cpu_idle(void)
        }
 }
 
-/*
- * Native o32 and N64 ABI without DSP ASE
- */
-struct mips_abi mips_abi = {
-       .do_signal      = do_signal,
-#ifdef CONFIG_TRAD_SIGNALS
-       .setup_frame    = setup_frame,
-#endif
-       .setup_rt_frame = setup_rt_frame
-};
-
-#ifdef CONFIG_MIPS32_O32
-/*
- * o32 compatibility on 64-bit kernels, without DSP ASE
- */
-struct mips_abi mips_abi_32 = {
-       .do_signal      = do_signal32,
-       .setup_frame    = setup_frame_32,
-       .setup_rt_frame = setup_rt_frame_32
-};
-#endif /* CONFIG_MIPS32_O32 */
-
-#ifdef CONFIG_MIPS32_N32
-/*
- * N32 on 64-bit kernels, without DSP ASE
- */
-struct mips_abi mips_abi_n32 = {
-       .do_signal      = do_signal,
-       .setup_rt_frame = setup_rt_frame_n32
-};
-#endif /* CONFIG_MIPS32_N32 */
-
 asmlinkage void ret_from_fork(void);
 
 void start_thread(struct pt_regs * regs, unsigned long pc, unsigned long sp)
@@ -115,7 +80,7 @@ void start_thread(struct pt_regs * regs, unsigned long pc, unsigned long sp)
        status |= KU_USER;
        regs->cp0_status = status;
        clear_used_math();
-       lose_fpu();
+       clear_fpu_owner();
        if (cpu_has_dsp)
                __init_dsp();
        regs->cp0_epc = pc;
@@ -248,7 +213,7 @@ int dump_task_fpu (struct task_struct *t, elf_fpregset_t *fpr)
 /*
  * Create a kernel thread
  */
-ATTRIB_NORET void kernel_thread_helper(void *arg, int (*fn)(void *))
+static ATTRIB_NORET void kernel_thread_helper(void *arg, int (*fn)(void *))
 {
        do_exit(fn(arg));
 }
@@ -358,10 +323,8 @@ static int __init frame_info_init(void)
        unsigned long size = 0;
 #ifdef CONFIG_KALLSYMS
        unsigned long ofs;
-       char *modname;
-       char namebuf[KSYM_NAME_LEN + 1];
 
-       kallsyms_lookup((unsigned long)schedule, &size, &ofs, &modname, namebuf);
+       kallsyms_lookup_size_offset((unsigned long)schedule, &size, &ofs);
 #endif
        schedule_mfi.func = schedule;
        schedule_mfi.func_size = size;
@@ -403,8 +366,6 @@ unsigned long unwind_stack(struct task_struct *task, unsigned long *sp,
 {
        unsigned long stack_page;
        struct mips_frame_info info;
-       char *modname;
-       char namebuf[KSYM_NAME_LEN + 1];
        unsigned long size, ofs;
        int leaf;
        extern void ret_from_irq(void);
@@ -433,7 +394,7 @@ unsigned long unwind_stack(struct task_struct *task, unsigned long *sp,
                }
                return 0;
        }
-       if (!kallsyms_lookup(pc, &size, &ofs, &modname, namebuf))
+       if (!kallsyms_lookup_size_offset(pc, &size, &ofs))
                return 0;
        /*
         * Return ra if an exception occured at the first instruction