Index: arch/ia32/src/interrupt.c
===================================================================
--- arch/ia32/src/interrupt.c	(revision 31e8ddd3646b281263eac10f5b0878e1700ccd12)
+++ arch/ia32/src/interrupt.c	(revision 0dbc4e7a921e1e08e6a60698a953242fa5a643b3)
@@ -80,4 +80,6 @@
 void null_interrupt(int n, istate_t *istate)
 {
+	fault_if_from_uspace(istate, "unserviced interrupt: %d", n);
+
 	PRINT_INFO_ERRCODE(istate);
 	panic("unserviced interrupt: %d\n", n);
@@ -105,4 +107,5 @@
 			return;
 		}
+		fault_if_from_uspace(istate, "general protection fault");
 	}
 
@@ -113,4 +116,6 @@
 void ss_fault(int n, istate_t *istate)
 {
+	fault_if_from_uspace(istate, "stack fault");
+
 	PRINT_INFO_ERRCODE(istate);
 	panic("stack fault\n");
@@ -119,6 +124,4 @@
 void simd_fp_exception(int n, istate_t *istate)
 {
-
-	PRINT_INFO_ERRCODE(istate);
 	__u32 mxcsr;
 	asm
@@ -127,4 +130,8 @@
 		:"=m"(mxcsr)
 	);
+	fault_if_from_uspace(istate, "SIMD FP exception(19), MXCSR: %#zX",
+			     (__native)mxcsr);
+
+	PRINT_INFO_ERRCODE(istate);
 	printf("MXCSR: %#zX\n",(__native)(mxcsr));
 	panic("SIMD FP exception(19)\n");
@@ -136,4 +143,5 @@
 	scheduler_fpu_lazy_request();
 #else
+	fault_if_from_uspace(istate, "fpu fault");
 	panic("fpu fault");
 #endif
Index: arch/ia32/src/mm/page.c
===================================================================
--- arch/ia32/src/mm/page.c	(revision 31e8ddd3646b281263eac10f5b0878e1700ccd12)
+++ arch/ia32/src/mm/page.c	(revision 0dbc4e7a921e1e08e6a60698a953242fa5a643b3)
@@ -104,4 +104,6 @@
 
         if (as_page_fault(page, access, istate) == AS_PF_FAULT) {
+		fault_if_from_uspace(istate, "Page fault: %#x", page);
+
                 PRINT_INFO_ERRCODE(istate);
                 printf("page fault address: %#x\n", page);
