Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 21 May 2010 22:23:54 +0000 (15:23 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 21 May 2010 22:23:54 +0000 (15:23 -0700)
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (25 commits)
  MIPS: Use GCC __builtin_prefetch() to implement prefetch().
  MIPS: Octeon: Serial port fixes for OCTEON simulator.
  MIPS: Octeon: Get rid of early serial.
  MIPS: AR7: prevent race between clock initialization and devices registration
  MIPS: AR7: use ar7_has_high_vlynq() to determine watchdog base address
  MIPS: BCM63xx: Avoid namespace clash on GPIO_DIR_{IN,OUT}
  MIPS: MTX-1: Update defconfig
  MIPS: BCM47xx: Update defconfig
  MIPS: RB532: Update defconfig
  MIPS: AR7: Update defconfig
  RTC: rtc-cmos: Fix binary mode support
  MIPS: Oprofile: Loongson: Cleanup the comments
  MIPS: Oprofile: Loongson: Cleanup of the macros
  MIPS: Oprofile: Loongson: Remove unused variable from loongson2_cpu_setup()
  MIPS: Oprofile: Loongson: Remove useless parentheses
  MIPS: Oprofile: Loongson: Unify macro for setting events
  MIPS: nofpu and nodsp only affect CPU0
  MIPS: Clean up tables for bootmem allocation
  MIPS: Coding style cleanups of access of FCSR rounding mode bits
  MIPS: Loongson 2F: Add gpio/gpioilb support
  ...

1  2 
arch/mips/kernel/traps.c

diff --combined arch/mips/kernel/traps.c
index 950bde8813fc2fdb4a13946b8c09ad59c8e2cdbb,7e5e38c24cdc8308a6ea5f1ec72795215de36eeb..8bdd6a663c7fe2284b69bfd4627acdd77364ca63
@@@ -26,7 -26,6 +26,7 @@@
  #include <linux/kgdb.h>
  #include <linux/kdebug.h>
  #include <linux/notifier.h>
 +#include <linux/kdb.h>
  
  #include <asm/bootinfo.h>
  #include <asm/branch.h>
@@@ -186,11 -185,6 +186,11 @@@ void show_stack(struct task_struct *tas
                        regs.regs[29] = task->thread.reg29;
                        regs.regs[31] = 0;
                        regs.cp0_epc = task->thread.reg31;
 +#ifdef CONFIG_KGDB_KDB
 +              } else if (atomic_read(&kgdb_active) != -1 &&
 +                         kdb_current_regs) {
 +                      memcpy(&regs, kdb_current_regs, sizeof(regs));
 +#endif /* CONFIG_KGDB_KDB */
                } else {
                        prepare_frametrace(&regs);
                }
@@@ -366,8 -360,6 +366,8 @@@ void __noreturn die(const char * str, s
        unsigned long dvpret = dvpe();
  #endif /* CONFIG_MIPS_MT_SMTC */
  
 +      notify_die(DIE_OOPS, str, (struct pt_regs *)regs, SIGSEGV, 0, 0);
 +
        console_verbose();
        spin_lock_irq(&die_lock);
        bust_spinlocks(1);
@@@ -712,11 -704,6 +712,11 @@@ static void do_trap_or_bp(struct pt_reg
        siginfo_t info;
        char b[40];
  
 +#ifdef CONFIG_KGDB_LOW_LEVEL_TRAP
 +      if (kgdb_ll_trap(DIE_TRAP, str, regs, code, 0, 0) == NOTIFY_STOP)
 +              return;
 +#endif /* CONFIG_KGDB_LOW_LEVEL_TRAP */
 +
        if (notify_die(DIE_TRAP, str, regs, code, 0, 0) == NOTIFY_STOP)
                return;
  
@@@ -867,7 -854,7 +867,7 @@@ static void mt_ase_fp_affinity(void
                                = current->cpus_allowed;
                        cpus_and(tmask, current->cpus_allowed,
                                mt_fpu_cpumask);
-                       set_cpus_allowed(current, tmask);
+                       set_cpus_allowed_ptr(current, &tmask);
                        set_thread_flag(TIF_FPUBOUND);
                }
        }