diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2005-08-17 19:44:08 +0200 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2005-10-29 20:32:10 +0200 |
commit | 340ee4b98c0543b5632cac975a7449a2d28762d8 (patch) | |
tree | 94b7315d53d6eadd145c8691f0a9925f5ae389f5 /arch/mips/kernel/traps.c | |
parent | MT bulletproofing. (diff) | |
download | linux-340ee4b98c0543b5632cac975a7449a2d28762d8.tar.xz linux-340ee4b98c0543b5632cac975a7449a2d28762d8.zip |
Virtual SMP support for the 34K.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/kernel/traps.c')
-rw-r--r-- | arch/mips/kernel/traps.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c index 876aff71cd2e..e38f24b2b3db 100644 --- a/arch/mips/kernel/traps.c +++ b/arch/mips/kernel/traps.c @@ -28,6 +28,8 @@ #include <asm/cpu.h> #include <asm/dsp.h> #include <asm/fpu.h> +#include <asm/mipsregs.h> +#include <asm/mipsmtregs.h> #include <asm/module.h> #include <asm/pgtable.h> #include <asm/ptrace.h> @@ -56,6 +58,7 @@ extern asmlinkage void handle_tr(void); extern asmlinkage void handle_fpe(void); extern asmlinkage void handle_mdmx(void); extern asmlinkage void handle_watch(void); +extern asmlinkage void handle_mt(void); extern asmlinkage void handle_dsp(void); extern asmlinkage void handle_mcheck(void); extern asmlinkage void handle_reserved(void); @@ -797,6 +800,14 @@ asmlinkage void do_mcheck(struct pt_regs *regs) (regs->cp0_status & ST0_TS) ? "" : "not "); } +asmlinkage void do_mt(struct pt_regs *regs) +{ + die_if_kernel("MIPS MT Thread exception in kernel", regs); + + force_sig(SIGILL, current); +} + + asmlinkage void do_dsp(struct pt_regs *regs) { if (cpu_has_dsp) @@ -1338,6 +1349,9 @@ void __init trap_init(void) if (cpu_has_mcheck) set_except_vector(24, handle_mcheck); + if (cpu_has_mipsmt) + set_except_vector(25, handle_mt); + if (cpu_has_dsp) set_except_vector(26, handle_dsp); |