diff options
Diffstat (limited to 'arch/mips/kernel/traps.c')
-rw-r--r-- | arch/mips/kernel/traps.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c index 8b95eca9ac74..954a198494ef 100644 --- a/arch/mips/kernel/traps.c +++ b/arch/mips/kernel/traps.c | |||
@@ -569,6 +569,8 @@ asmlinkage void do_ov(struct pt_regs *regs) | |||
569 | */ | 569 | */ |
570 | asmlinkage void do_fpe(struct pt_regs *regs, unsigned long fcr31) | 570 | asmlinkage void do_fpe(struct pt_regs *regs, unsigned long fcr31) |
571 | { | 571 | { |
572 | die_if_kernel("FP exception in kernel code", regs); | ||
573 | |||
572 | if (fcr31 & FPU_CSR_UNI_X) { | 574 | if (fcr31 & FPU_CSR_UNI_X) { |
573 | int sig; | 575 | int sig; |
574 | 576 | ||
@@ -847,31 +849,29 @@ asmlinkage void do_mt(struct pt_regs *regs) | |||
847 | { | 849 | { |
848 | int subcode; | 850 | int subcode; |
849 | 851 | ||
850 | die_if_kernel("MIPS MT Thread exception in kernel", regs); | ||
851 | |||
852 | subcode = (read_vpe_c0_vpecontrol() & VPECONTROL_EXCPT) | 852 | subcode = (read_vpe_c0_vpecontrol() & VPECONTROL_EXCPT) |
853 | >> VPECONTROL_EXCPT_SHIFT; | 853 | >> VPECONTROL_EXCPT_SHIFT; |
854 | switch (subcode) { | 854 | switch (subcode) { |
855 | case 0: | 855 | case 0: |
856 | printk(KERN_ERR "Thread Underflow\n"); | 856 | printk(KERN_DEBUG "Thread Underflow\n"); |
857 | break; | 857 | break; |
858 | case 1: | 858 | case 1: |
859 | printk(KERN_ERR "Thread Overflow\n"); | 859 | printk(KERN_DEBUG "Thread Overflow\n"); |
860 | break; | 860 | break; |
861 | case 2: | 861 | case 2: |
862 | printk(KERN_ERR "Invalid YIELD Qualifier\n"); | 862 | printk(KERN_DEBUG "Invalid YIELD Qualifier\n"); |
863 | break; | 863 | break; |
864 | case 3: | 864 | case 3: |
865 | printk(KERN_ERR "Gating Storage Exception\n"); | 865 | printk(KERN_DEBUG "Gating Storage Exception\n"); |
866 | break; | 866 | break; |
867 | case 4: | 867 | case 4: |
868 | printk(KERN_ERR "YIELD Scheduler Exception\n"); | 868 | printk(KERN_DEBUG "YIELD Scheduler Exception\n"); |
869 | break; | 869 | break; |
870 | case 5: | 870 | case 5: |
871 | printk(KERN_ERR "Gating Storage Schedulier Exception\n"); | 871 | printk(KERN_DEBUG "Gating Storage Schedulier Exception\n"); |
872 | break; | 872 | break; |
873 | default: | 873 | default: |
874 | printk(KERN_ERR "*** UNKNOWN THREAD EXCEPTION %d ***\n", | 874 | printk(KERN_DEBUG "*** UNKNOWN THREAD EXCEPTION %d ***\n", |
875 | subcode); | 875 | subcode); |
876 | break; | 876 | break; |
877 | } | 877 | } |
@@ -980,10 +980,10 @@ void ejtag_exception_handler(struct pt_regs *regs) | |||
980 | unsigned long depc, old_epc; | 980 | unsigned long depc, old_epc; |
981 | unsigned int debug; | 981 | unsigned int debug; |
982 | 982 | ||
983 | printk("SDBBP EJTAG debug exception - not handled yet, just ignored!\n"); | 983 | printk(KERN_DEBUG "SDBBP EJTAG debug exception - not handled yet, just ignored!\n"); |
984 | depc = read_c0_depc(); | 984 | depc = read_c0_depc(); |
985 | debug = read_c0_debug(); | 985 | debug = read_c0_debug(); |
986 | printk("c0_depc = %0*lx, DEBUG = %08x\n", field, depc, debug); | 986 | printk(KERN_DEBUG "c0_depc = %0*lx, DEBUG = %08x\n", field, depc, debug); |
987 | if (debug & 0x80000000) { | 987 | if (debug & 0x80000000) { |
988 | /* | 988 | /* |
989 | * In branch delay slot. | 989 | * In branch delay slot. |
@@ -1001,7 +1001,7 @@ void ejtag_exception_handler(struct pt_regs *regs) | |||
1001 | write_c0_depc(depc); | 1001 | write_c0_depc(depc); |
1002 | 1002 | ||
1003 | #if 0 | 1003 | #if 0 |
1004 | printk("\n\n----- Enable EJTAG single stepping ----\n\n"); | 1004 | printk(KERN_DEBUG "\n\n----- Enable EJTAG single stepping ----\n\n"); |
1005 | write_c0_debug(debug | 0x100); | 1005 | write_c0_debug(debug | 0x100); |
1006 | #endif | 1006 | #endif |
1007 | } | 1007 | } |