Index: kernel/generic/include/ipc/irq.h
===================================================================
--- kernel/generic/include/ipc/irq.h	(revision 2b017ba3f7b12c023121e41aca02b7d6bf2bdade)
+++ kernel/generic/include/ipc/irq.h	(revision fc468841de2b95bece0894c87ba698651aa540fe)
@@ -38,7 +38,4 @@
 /** Maximum length of IPC IRQ program */
 #define IRQ_MAX_PROG_SIZE 10
-
-#define VIRT_INR_KLOG		-2
-#define VIRT_INR_KBDRESTART	-3
 
 typedef enum {
Index: kernel/generic/src/console/klog.c
===================================================================
--- kernel/generic/src/console/klog.c	(revision 2b017ba3f7b12c023121e41aca02b7d6bf2bdade)
+++ kernel/generic/src/console/klog.c	(revision fc468841de2b95bece0894c87ba698651aa540fe)
@@ -41,4 +41,12 @@
 #include <ipc/irq.h>
 
+/*
+ * For now, we use 0 as INR.
+ * However, on some architectures 0 is the clock interrupt (e.g. amd64 and ia32).
+ * It is therefore desirable to have architecture specific definition of KLOG_VIRT_INR
+ * in the future.
+ */
+#define KLOG_VIRT_INR	0
+
 /* Order of frame to be allocated for klog communication */
 #define KLOG_ORDER	0
@@ -75,9 +83,9 @@
 	sysinfo_set_item_val("klog.pages", NULL, 1 << KLOG_ORDER);
 	sysinfo_set_item_val("klog.devno", NULL, devno);
-	sysinfo_set_item_val("klog.inr", NULL, VIRT_INR_KLOG); 
+	sysinfo_set_item_val("klog.inr", NULL, KLOG_VIRT_INR);
 
 	irq_initialize(&klog_irq);
 	klog_irq.devno = devno;
-	klog_irq.inr = VIRT_INR_KLOG;
+	klog_irq.inr = KLOG_VIRT_INR;
 	klog_irq.claim = klog_claim;
 	irq_register(&klog_irq);
