Index: arch/mips/kernel/entry.S =================================================================== RCS file: /home/cvs/linux/arch/mips/kernel/entry.S,v retrieving revision 1.45 diff -u -r1.45 entry.S --- arch/mips/kernel/entry.S 18 Aug 2002 08:59:50 -0000 1.45 +++ arch/mips/kernel/entry.S 17 Dec 2002 23:37:59 -0000 @@ -324,6 +324,7 @@ BUILD_HANDLER(ov,ov,kmode,silent) /* #12 */ BUILD_HANDLER(tr,tr,kmode,silent) /* #13 */ BUILD_HANDLER(fpe,fpe,fpe,silent) /* #15 */ + BUILD_HANDLER(mdmx,mdmx,sti,silent) /* #22 */ BUILD_HANDLER(watch,watch,sti,silent) /* #23 */ BUILD_HANDLER(mcheck,mcheck,cli,silent) /* #24 */ BUILD_HANDLER(reserved,reserved,kmode,silent) /* others */ Index: arch/mips/kernel/traps.c =================================================================== RCS file: /home/cvs/linux/arch/mips/kernel/traps.c,v retrieving revision 1.137 diff -u -r1.137 traps.c --- arch/mips/kernel/traps.c 17 Dec 2002 22:44:38 -0000 1.137 +++ arch/mips/kernel/traps.c 17 Dec 2002 23:37:59 -0000 @@ -51,6 +51,7 @@ extern asmlinkage void handle_ov(void); 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_mcheck(void); extern asmlinkage void handle_reserved(void); @@ -705,6 +706,11 @@ force_sig(SIGILL, current); } +asmlinkage void do_mdmx(struct pt_regs *regs) +{ + force_sig(SIGILL, current); +} + asmlinkage void do_watch(struct pt_regs *regs) { /* @@ -962,6 +968,7 @@ set_except_vector(11, handle_cpu); set_except_vector(12, handle_ov); set_except_vector(13, handle_tr); + set_except_vector(22, handle_mdmx); if ((mips_cpu.options & MIPS_CPU_FPU) && !(mips_cpu.options & MIPS_CPU_NOFPUEX)) Index: arch/mips64/kernel/r4k_genex.S =================================================================== RCS file: /home/cvs/linux/arch/mips64/kernel/r4k_genex.S,v retrieving revision 1.13 diff -u -r1.13 r4k_genex.S --- arch/mips64/kernel/r4k_genex.S 2 Oct 2002 14:45:26 -0000 1.13 +++ arch/mips64/kernel/r4k_genex.S 17 Dec 2002 23:38:00 -0000 @@ -28,6 +28,7 @@ BUILD_HANDLER ov ov sti silent /* #12 */ BUILD_HANDLER tr tr sti silent /* #13 */ BUILD_HANDLER fpe fpe fpe silent /* #15 */ + BUILD_HANDLER mdmx mdmx sti silent /* #22 */ BUILD_HANDLER watch watch sti verbose /* #23 */ BUILD_HANDLER mcheck mcheck cli verbose /* #24 */ BUILD_HANDLER reserved reserved sti verbose /* others */ Index: arch/mips64/kernel/traps.c =================================================================== RCS file: /home/cvs/linux/arch/mips64/kernel/traps.c,v retrieving revision 1.71 diff -u -r1.71 traps.c --- arch/mips64/kernel/traps.c 17 Dec 2002 22:44:38 -0000 1.71 +++ arch/mips64/kernel/traps.c 17 Dec 2002 23:38:00 -0000 @@ -49,6 +49,7 @@ extern asmlinkage void handle_ov(void); 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_mcheck(void); extern asmlinkage void handle_reserved(void); @@ -573,6 +574,11 @@ force_sig(SIGILL, current); } +asmlinkage void do_mdmx(struct pt_regs *regs) +{ + force_sig(SIGILL, current); +} + asmlinkage void do_watch(struct pt_regs *regs) { /* @@ -723,6 +729,7 @@ set_except_vector(11, handle_cpu); set_except_vector(12, handle_ov); set_except_vector(13, handle_tr); + set_except_vector(22, handle_mdmx); if ((mips_cpu.options & MIPS_CPU_FPU) && !(mips_cpu.options & MIPS_CPU_NOFPUEX))