Index: kernel/generic/src/console/cmd.c
===================================================================
--- kernel/generic/src/console/cmd.c	(revision 84afc7bf42bf4b5e22750a7f377f4bfc31636630)
+++ kernel/generic/src/console/cmd.c	(revision 05641a9edbf1f7a46db1517a8e99aa0ffa7bdd5d)
@@ -65,4 +65,5 @@
 #include <ipc/ipc.h>
 #include <ipc/irq.h>
+#include <event/event.h>
 #include <symtab.h>
 #include <errno.h>
@@ -955,6 +956,5 @@
 	release_console();
 	
-	if ((kconsole_notify) && (kconsole_irq.notif_cfg.notify))
-		ipc_irq_send_msg_0(&kconsole_irq);
+	event_notify_0(EVENT_KCONSOLE);
 	
 	return 1;
Index: kernel/generic/src/console/console.c
===================================================================
--- kernel/generic/src/console/console.c	(revision 84afc7bf42bf4b5e22750a7f377f4bfc31636630)
+++ kernel/generic/src/console/console.c	(revision 05641a9edbf1f7a46db1517a8e99aa0ffa7bdd5d)
@@ -42,4 +42,5 @@
 #include <ddi/irq.h>
 #include <ddi/ddi.h>
+#include <event/event.h>
 #include <ipc/irq.h>
 #include <arch.h>
@@ -100,10 +101,4 @@
 	sysinfo_set_item_val("klog.faddr", NULL, (unative_t) faddr);
 	sysinfo_set_item_val("klog.pages", NULL, SIZE2FRAMES(KLOG_SIZE));
-	
-	//irq_initialize(&klog_irq);
-	//klog_irq.devno = devno;
-	//klog_irq.inr = KLOG_VIRT_INR;
-	//klog_irq.claim = klog_claim;
-	//irq_register(&klog_irq);
 	
 	spinlock_lock(&klog_lock);
@@ -243,8 +238,8 @@
 	spinlock_lock(&klog_lock);
 	
-//	if ((klog_inited) && (klog_irq.notif_cfg.notify) && (klog_uspace > 0)) {
-//		ipc_irq_send_msg_3(&klog_irq, klog_start, klog_len, klog_uspace);
-//		klog_uspace = 0;
-//	}
+	if (klog_inited && event_is_subscribed(EVENT_KLOG) && klog_uspace > 0) {
+		event_notify_3(EVENT_KLOG, klog_start, klog_len, klog_uspace);
+		klog_uspace = 0;
+	}
 	
 	spinlock_unlock(&klog_lock);
Index: kernel/generic/src/console/kconsole.c
===================================================================
--- kernel/generic/src/console/kconsole.c	(revision 84afc7bf42bf4b5e22750a7f377f4bfc31636630)
+++ kernel/generic/src/console/kconsole.c	(revision 05641a9edbf1f7a46db1517a8e99aa0ffa7bdd5d)
@@ -88,28 +88,4 @@
 static char history[KCONSOLE_HISTORY][MAX_CMDLINE] = {};
 
-/*
- * For now, we use 0 as INR.
- * However, it is therefore desirable to have architecture specific
- * definition of KCONSOLE_VIRT_INR in the future.
- */
-#define KCONSOLE_VIRT_INR  0
-
-bool kconsole_notify = false;
-irq_t kconsole_irq;
-
-
-/** Allways refuse IRQ ownership.
- *
- * This is not a real IRQ, so we always decline.
- *
- * @return Always returns IRQ_DECLINE.
- *
- */
-static irq_ownership_t kconsole_claim(irq_t *irq)
-{
-	return IRQ_DECLINE;
-}
-
-
 /** Initialize kconsole data structures
  *
@@ -126,25 +102,4 @@
 		history[i][0] = '\0';
 }
-
-
-/** Initialize kconsole notification mechanism
- *
- * Initialize the virtual IRQ notification mechanism.
- *
- */
-void kconsole_notify_init(void)
-{
-	sysinfo_set_item_val("kconsole.present", NULL, true);
-	sysinfo_set_item_val("kconsole.inr", NULL, KCONSOLE_VIRT_INR);
-	
-	irq_initialize(&kconsole_irq);
-	kconsole_irq.devno = device_assign_devno();
-	kconsole_irq.inr = KCONSOLE_VIRT_INR;
-	kconsole_irq.claim = kconsole_claim;
-	irq_register(&kconsole_irq);
-	
-	kconsole_notify = true;
-}
-
 
 /** Register kconsole command.
