Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e35a5e35 authored by Chris Dearman's avatar Chris Dearman Committed by Ralf Baechle
Browse files

[MIPS] Less noise on multithreading exceptions.



Make the MT handler silent and output the MT exception type at debug
priority.

Signed-off-by: default avatarChris Dearman <chris@mips.com>
Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 98ab66cd
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -365,7 +365,7 @@ NESTED(nmi_handler, PT_SIZE, sp)
	BUILD_HANDLER mdmx mdmx sti silent		/* #22 */
	BUILD_HANDLER watch watch sti verbose		/* #23 */
	BUILD_HANDLER mcheck mcheck cli verbose		/* #24 */
	BUILD_HANDLER mt mt sti verbose			/* #25 */
	BUILD_HANDLER mt mt sti silent			/* #25 */
	BUILD_HANDLER dsp dsp sti silent		/* #26 */
	BUILD_HANDLER reserved reserved sti verbose	/* others */

+7 −9
Original line number Diff line number Diff line
@@ -847,31 +847,29 @@ asmlinkage void do_mt(struct pt_regs *regs)
{
	int subcode;

	die_if_kernel("MIPS MT Thread exception in kernel", regs);

	subcode = (read_vpe_c0_vpecontrol() & VPECONTROL_EXCPT)
			>> VPECONTROL_EXCPT_SHIFT;
	switch (subcode) {
	case 0:
		printk(KERN_ERR "Thread Underflow\n");
		printk(KERN_DEBUG "Thread Underflow\n");
		break;
	case 1:
		printk(KERN_ERR "Thread Overflow\n");
		printk(KERN_DEBUG "Thread Overflow\n");
		break;
	case 2:
		printk(KERN_ERR "Invalid YIELD Qualifier\n");
		printk(KERN_DEBUG "Invalid YIELD Qualifier\n");
		break;
	case 3:
		printk(KERN_ERR "Gating Storage Exception\n");
		printk(KERN_DEBUG "Gating Storage Exception\n");
		break;
	case 4:
		printk(KERN_ERR "YIELD Scheduler Exception\n");
		printk(KERN_DEBUG "YIELD Scheduler Exception\n");
		break;
	case 5:
		printk(KERN_ERR "Gating Storage Schedulier Exception\n");
		printk(KERN_DEBUG "Gating Storage Schedulier Exception\n");
		break;
	default:
		printk(KERN_ERR "*** UNKNOWN THREAD EXCEPTION %d ***\n",
		printk(KERN_DEBUG "*** UNKNOWN THREAD EXCEPTION %d ***\n",
			subcode);
		break;
	}