Index: kernel/arch/sparc32/src/machine/leon3/leon3.c
===================================================================
--- kernel/arch/sparc32/src/machine/leon3/leon3.c	(revision e47ed059f2f1f9164ef7bfb956f1b38b5998b23d)
+++ kernel/arch/sparc32/src/machine/leon3/leon3.c	(revision 32e8cd1b35fed5b4250d558f0d9cf886b3422481)
@@ -38,11 +38,8 @@
 #include <arch/asm.h>
 #include <arch/machine_func.h>
-
 #include <arch/machine/leon3/leon3.h>
-
 #include <genarch/drivers/grlib/uart.h>
 #include <genarch/drivers/grlib/irqmp.h>
 #include <genarch/srln/srln.h>
-
 #include <func.h>
 #include <config.h>
@@ -70,22 +67,20 @@
 static const char *leon3_get_platform_name(void);
 
-struct leon3_machine_t
-{
+struct leon3_machine_t {
 	bootinfo_t *bootinfo;
 	outdev_t *scons_dev;
 	grlib_irqmp_t irqmp;
-	//grlib_timer_t timer;
 };
 
 struct sparc_machine_ops leon3_machine_ops = {
-	leon3_init,
-	leon3_cpu_halt,
-	leon3_get_memory_extents,
-	leon3_timer_start,
-	leon3_irq_exception,
-	leon3_output_init,
-	leon3_input_init,
-	leon3_get_irq_count,
-	leon3_get_platform_name
+	.machine_init = leon3_init,
+	.machine_cpu_halt = leon3_cpu_halt,
+	.machine_get_memory_extents = leon3_get_memory_extents,
+	.machine_timer_irq_start = leon3_timer_start,
+	.machine_irq_exception = leon3_irq_exception,
+	.machine_output_init = leon3_output_init,
+	.machine_input_init = leon3_input_init,
+	.machine_get_irq_count = leon3_get_irq_count,
+	.machine_get_platform_name = leon3_get_platform_name
 };
 
@@ -95,5 +90,4 @@
 {
 	machine.bootinfo = bootinfo;
-
 	grlib_irqmp_init(&machine.irqmp, bootinfo);
 }
@@ -101,5 +95,6 @@
 static void leon3_cpu_halt(void)
 {
-	for (;;);
+	// FIXME TODO
+	while (1);
 }
 
@@ -107,18 +102,22 @@
 {
 	*start = LEON3_SDRAM_START;
-	*size = 64 * 1024 * 1024;//machine.bootinfo->memsize;
+	*size = 64 * 1024 * 1024;
+	// FIXME: *size = machine.bootinfo->memsize;
 }
 
 static void leon3_timer_start(void)
 {
-	//machine.timer = grlib_timer_init(machine.bootinfo->timer_base, machine.bootinfo->timer_irq);
+	// FIXME:
+	// machine.timer =
+	//     grlib_timer_init(machine.bootinfo->timer_base,
+	//     machine.bootinfo->timer_irq);
 }
 
-static void leon3_irq_exception(unsigned int exc_no, istate_t *istate)
+static void leon3_irq_exception(unsigned int exc, istate_t *istate)
 {
 	int irqnum = grlib_irqmp_inum_get(&machine.irqmp);
-
+	
 	grlib_irqmp_clear(&machine.irqmp, irqnum);
-
+	
 	irq_t *irq = irq_dispatch_and_lock(irqnum);
 	if (irq) {
@@ -131,9 +130,8 @@
 static void leon3_output_init(void)
 {
-	printf("leon3_output_init\n");
-	printf("machine.bootinfo=%p, machine.bootinfo->uart_base=0x%08x\n", machine.bootinfo, machine.bootinfo->uart_base);
-
-	machine.scons_dev = grlib_uart_init(machine.bootinfo->uart_base, machine.bootinfo->uart_irq);
-
+	machine.scons_dev =
+	    grlib_uart_init(machine.bootinfo->uart_base,
+	    machine.bootinfo->uart_irq);
+	
 	if (machine.scons_dev)
 		stdout_wire(machine.scons_dev);
@@ -148,5 +146,5 @@
 		/* Create input device. */
 		scons_inst = (void *)machine.scons_dev->data;
-
+		
 		srln_instance_t *srln_instance = srln_init();
 		if (srln_instance) {
@@ -154,7 +152,8 @@
 			indev_t *srln = srln_wire(srln_instance, sink);
 			grlib_uart_input_wire(scons_inst, srln);
-
+			
 			/* Enable interrupts from UART */
-			grlib_irqmp_unmask(&machine.irqmp, machine.bootinfo->uart_irq);
+			grlib_irqmp_unmask(&machine.irqmp,
+			    machine.bootinfo->uart_irq);
 		}
 	}
@@ -171,4 +170,2 @@
 	return "LEON3";
 }
-
-
