Index: kernel/arch/sparc64/src/trap/interrupt.c
===================================================================
--- kernel/arch/sparc64/src/trap/interrupt.c	(revision d364e94360c20325ba21bb69e6ac2542ade79708)
+++ kernel/arch/sparc64/src/trap/interrupt.c	(revision 323a5aaf36674c20719d102e0508c32ef466bfa3)
@@ -80,4 +80,10 @@
 		 */
 		irq->handler(irq, irq->arg);
+		/*
+		 * See if there is a clear-interrupt-routine and call it.
+		 */
+		if (irq->cir) {
+			irq->cir(irq->cir_arg, irq->inr);
+		}
 		spinlock_unlock(&irq->lock);
 	} else if (data0 > config.base) {
@@ -99,5 +105,5 @@
 #ifdef CONFIG_DEBUG
 		printf("cpu%u: spurious interrupt (intrcv=%#" PRIx64
-			", data0=%#" PRIx64 ")\n", CPU->id, intrcv, data0);
+		    ", data0=%#" PRIx64 ")\n", CPU->id, intrcv, data0);
 #endif
 	}
