Index: arch/sparc64/src/drivers/tick.c
===================================================================
--- arch/sparc64/src/drivers/tick.c	(revision 39494010cd29538c76268953cc313e6c622f06d5)
+++ arch/sparc64/src/drivers/tick.c	(revision 1120276ccc8b05501c44caedc58016ff6f503729)
@@ -32,6 +32,7 @@
 #include <arch/register.h>
 #include <debug.h>
-#include <print.h>
+#include <time/clock.h>
 
+/** Initialize tick interrupt. */
 void tick_init(void)
 {
@@ -45,6 +46,37 @@
 }
 
+/** Process tick interrupt.
+ *
+ * @param n Interrupt Level, 14,  (can be ignored)
+ * @param stack Stack pointer of the interrupted context.
+ */
 void tick_interrupt(int n, void *stack)
 {
-	panic("Unserviced %s.\n", __FUNCTION__);
+	softint_reg_t softint, clear;
+	
+	softint.value = softint_read();
+	
+	/*
+	 * Make sure we are servicing interrupt_level_14
+	 */
+	ASSERT(n == 14);
+	
+	/*
+	 * Make sure we are servicing TICK_INT.
+	 */
+	ASSERT(softint.tick_int);
+
+	/*
+	 * Clear tick interrupt.
+	 */
+	clear.value = 0;
+	clear.tick_int = 1;
+	clear_softint_write(clear.value);
+	
+	/*
+	 * Restart counter.
+	 */
+	tick_write(0);
+	
+	clock();
 }
