Index: kernel/generic/include/console/console.h
===================================================================
--- kernel/generic/include/console/console.h	(revision be069144135afaab9e7c8cee79ffd3504762612c)
+++ kernel/generic/include/console/console.h	(revision b3b7e14a1e27b36c3c59ce41e9bc3060bdc881fd)
@@ -37,5 +37,19 @@
 
 #include <typedefs.h>
+#include <print.h>
 #include <console/chardev.h>
+
+#define PAGING(counter, increment, before, after) \
+	do { \
+		(counter) += (increment); \
+		if ((counter) > 23) { \
+			before; \
+			printf(" -- Press any key to continue -- "); \
+			indev_pop_character(stdin); \
+			after; \
+			printf("\n"); \
+			(counter) = 0; \
+		} \
+	} while (0)
 
 extern indev_t *stdin;
Index: kernel/generic/include/interrupt.h
===================================================================
--- kernel/generic/include/interrupt.h	(revision be069144135afaab9e7c8cee79ffd3504762612c)
+++ kernel/generic/include/interrupt.h	(revision b3b7e14a1e27b36c3c59ce41e9bc3060bdc881fd)
@@ -44,9 +44,10 @@
 #include <stacktrace.h>
 
-typedef void (* iroutine)(int, istate_t *);
+typedef void (* iroutine_t)(int, istate_t *);
 
 typedef struct {
 	const char *name;
-	iroutine f;
+	bool hot;
+	iroutine_t handler;
 	uint64_t cycles;
 	uint64_t count;
@@ -57,6 +58,6 @@
 
 extern void fault_if_from_uspace(istate_t *, const char *, ...);
-extern iroutine exc_register(int, const char *, iroutine);
-extern void exc_dispatch(int, istate_t *);
+extern iroutine_t exc_register(unsigned int, const char *, bool, iroutine_t);
+extern void exc_dispatch(unsigned int, istate_t *);
 extern void exc_init(void);
 
Index: kernel/generic/include/sysinfo/abi.h
===================================================================
--- kernel/generic/include/sysinfo/abi.h	(revision be069144135afaab9e7c8cee79ffd3504762612c)
+++ kernel/generic/include/sysinfo/abi.h	(revision b3b7e14a1e27b36c3c59ce41e9bc3060bdc881fd)
@@ -130,4 +130,5 @@
 	unsigned int id;             /**< Exception ID */
 	char desc[EXC_NAME_BUFLEN];  /**< Description */
+	bool hot;                    /**< Active or inactive exception */
 	uint64_t cycles;             /**< Number of CPU cycles in the handler */
 	uint64_t count;              /**< Number of handled exceptions */
