[MIPS] Less noise on multithreading exceptions.
Make the MT handler silent and output the MT exception type at debug priority. Signed-off-by: Chris Dearman <chris@mips.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
committed by
Ralf Baechle
parent
98ab66cdd1
commit
e35a5e35e0
@@ -365,7 +365,7 @@ NESTED(nmi_handler, PT_SIZE, sp)
|
|||||||
BUILD_HANDLER mdmx mdmx sti silent /* #22 */
|
BUILD_HANDLER mdmx mdmx sti silent /* #22 */
|
||||||
BUILD_HANDLER watch watch sti verbose /* #23 */
|
BUILD_HANDLER watch watch sti verbose /* #23 */
|
||||||
BUILD_HANDLER mcheck mcheck cli verbose /* #24 */
|
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 dsp dsp sti silent /* #26 */
|
||||||
BUILD_HANDLER reserved reserved sti verbose /* others */
|
BUILD_HANDLER reserved reserved sti verbose /* others */
|
||||||
|
|
||||||
|
@@ -847,31 +847,29 @@ asmlinkage void do_mt(struct pt_regs *regs)
|
|||||||
{
|
{
|
||||||
int subcode;
|
int subcode;
|
||||||
|
|
||||||
die_if_kernel("MIPS MT Thread exception in kernel", regs);
|
|
||||||
|
|
||||||
subcode = (read_vpe_c0_vpecontrol() & VPECONTROL_EXCPT)
|
subcode = (read_vpe_c0_vpecontrol() & VPECONTROL_EXCPT)
|
||||||
>> VPECONTROL_EXCPT_SHIFT;
|
>> VPECONTROL_EXCPT_SHIFT;
|
||||||
switch (subcode) {
|
switch (subcode) {
|
||||||
case 0:
|
case 0:
|
||||||
printk(KERN_ERR "Thread Underflow\n");
|
printk(KERN_DEBUG "Thread Underflow\n");
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
printk(KERN_ERR "Thread Overflow\n");
|
printk(KERN_DEBUG "Thread Overflow\n");
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
printk(KERN_ERR "Invalid YIELD Qualifier\n");
|
printk(KERN_DEBUG "Invalid YIELD Qualifier\n");
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
printk(KERN_ERR "Gating Storage Exception\n");
|
printk(KERN_DEBUG "Gating Storage Exception\n");
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
printk(KERN_ERR "YIELD Scheduler Exception\n");
|
printk(KERN_DEBUG "YIELD Scheduler Exception\n");
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
printk(KERN_ERR "Gating Storage Schedulier Exception\n");
|
printk(KERN_DEBUG "Gating Storage Schedulier Exception\n");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
printk(KERN_ERR "*** UNKNOWN THREAD EXCEPTION %d ***\n",
|
printk(KERN_DEBUG "*** UNKNOWN THREAD EXCEPTION %d ***\n",
|
||||||
subcode);
|
subcode);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user