Index: arch/mips32/src/exception.c
===================================================================
--- arch/mips32/src/exception.c	(revision 997a1b19c905ad6cfdeac383ee37278849f653de)
+++ arch/mips32/src/exception.c	(revision 874621f88e11575154ad0c2e08fc906a8d92e4c0)
@@ -79,4 +79,6 @@
 static void unhandled_exception(int n, istate_t *istate)
 {
+	fault_if_from_uspace(istate, "unhandled exception %s", exctable[n]);
+	
 	print_regdump(istate);
 	panic("unhandled exception %s\n", exctable[n]);
@@ -120,6 +122,8 @@
 	if (cp0_cause_coperr(cp0_cause_read()) == fpu_cop_id)
 		scheduler_fpu_lazy_request();
-	else
+	else {
+		fault_if_from_uspace(istate, "unhandled Coprocessor Unusable Exception");
 		panic("unhandled Coprocessor Unusable Exception\n");
+	}
 }
 #endif
Index: arch/mips32/src/mm/tlb.c
===================================================================
--- arch/mips32/src/mm/tlb.c	(revision 997a1b19c905ad6cfdeac383ee37278849f653de)
+++ arch/mips32/src/mm/tlb.c	(revision 874621f88e11575154ad0c2e08fc906a8d92e4c0)
@@ -40,4 +40,5 @@
 #include <debug.h>
 #include <align.h>
+#include <interrupt.h>
 
 static void tlb_refill_fail(istate_t *istate);
@@ -337,4 +338,6 @@
 	if (s)
 		sym2 = s;
+
+	fault_if_from_uspace(istate, "TLB Refill Exception on %P", cp0_badvaddr_read());
 	panic("%X: TLB Refill Exception at %X(%s<-%s)\n", cp0_badvaddr_read(), istate->epc, symbol, sym2);
 }
@@ -348,4 +351,5 @@
 	if (s)
 		symbol = s;
+	fault_if_from_uspace(istate, "TLB Invalid Exception on %P", cp0_badvaddr_read());
 	panic("%X: TLB Invalid Exception at %X(%s)\n", cp0_badvaddr_read(), istate->epc, symbol);
 }
@@ -358,4 +362,5 @@
 	if (s)
 		symbol = s;
+	fault_if_from_uspace(istate, "TLB Modified Exception on %P", cp0_badvaddr_read());
 	panic("%X: TLB Modified Exception at %X(%s)\n", cp0_badvaddr_read(), istate->epc, symbol);
 }
