Index: kernel/arch/sparc32/include/arch/arch.h
===================================================================
--- kernel/arch/sparc32/include/arch/arch.h	(revision 9a08e6bddeb3cffb3e0438813da2a3084dcd33c5)
+++ kernel/arch/sparc32/include/arch/arch.h	(revision 554e70f2c9c7c45b5c4eada3d2a99c100d3ebb70)
@@ -75,5 +75,5 @@
 } bootinfo_t;
 
-extern void arch_pre_main(void *, bootinfo_t *);
+extern void sparc32_pre_main(void *, bootinfo_t *);
 extern void write_to_invalid(uint32_t, uint32_t, uint32_t);
 extern void read_from_invalid(uint32_t *, uint32_t *, uint32_t *);
Index: kernel/arch/sparc32/include/arch/machine_func.h
===================================================================
--- kernel/arch/sparc32/include/arch/machine_func.h	(revision 9a08e6bddeb3cffb3e0438813da2a3084dcd33c5)
+++ kernel/arch/sparc32/include/arch/machine_func.h	(revision 554e70f2c9c7c45b5c4eada3d2a99c100d3ebb70)
@@ -42,5 +42,5 @@
 #define KERN_sparc32_MACHINE_FUNC_H_
 
-#include <arch.h>
+#include <arch/arch.h>
 
 #include <console/console.h>
Index: kernel/arch/sparc32/src/debug/stacktrace.c
===================================================================
--- kernel/arch/sparc32/src/debug/stacktrace.c	(revision 9a08e6bddeb3cffb3e0438813da2a3084dcd33c5)
+++ kernel/arch/sparc32/src/debug/stacktrace.c	(revision 554e70f2c9c7c45b5c4eada3d2a99c100d3ebb70)
@@ -37,5 +37,5 @@
 #include <syscall/copy.h>
 #include <typedefs.h>
-#include <arch.h>
+#include <arch/arch.h>
 #include <arch/stack.h>
 #include <proc/thread.h>
Index: kernel/arch/sparc32/src/machine_func.c
===================================================================
--- kernel/arch/sparc32/src/machine_func.c	(revision 9a08e6bddeb3cffb3e0438813da2a3084dcd33c5)
+++ kernel/arch/sparc32/src/machine_func.c	(revision 554e70f2c9c7c45b5c4eada3d2a99c100d3ebb70)
@@ -40,4 +40,5 @@
 #include <arch/machine_func.h>
 #include <arch/machine/leon3/leon3.h>
+#include <arch/arch.h>
 
 /** Pointer to machine_ops structure being used. */
Index: kernel/arch/sparc32/src/mm/page.c
===================================================================
--- kernel/arch/sparc32/src/mm/page.c	(revision 9a08e6bddeb3cffb3e0438813da2a3084dcd33c5)
+++ kernel/arch/sparc32/src/mm/page.c	(revision 554e70f2c9c7c45b5c4eada3d2a99c100d3ebb70)
@@ -46,4 +46,5 @@
 #include <func.h>
 #include <arch/interrupt.h>
+#include <arch/arch.h>
 #include <arch/asm.h>
 #include <debug.h>
Index: kernel/arch/sparc32/src/sparc32.c
===================================================================
--- kernel/arch/sparc32/src/sparc32.c	(revision 9a08e6bddeb3cffb3e0438813da2a3084dcd33c5)
+++ kernel/arch/sparc32/src/sparc32.c	(revision 554e70f2c9c7c45b5c4eada3d2a99c100d3ebb70)
@@ -34,4 +34,5 @@
 
 #include <arch.h>
+#include <arch/arch.h>
 #include <typedefs.h>
 #include <arch/interrupt.h>
@@ -54,4 +55,14 @@
 #include <str.h>
 
+static void sparc32_post_mm_init(void);
+static void sparc32_post_smp_init(void);
+
+arch_ops_t sparc32_ops = {
+	.post_mm_init = sparc32_post_mm_init,
+	.post_smp_init = sparc32_post_smp_init,
+};
+
+arch_ops_t *arch_ops = &sparc32_ops;
+
 char memcpy_from_uspace_failover_address;
 char memcpy_to_uspace_failover_address;
@@ -59,5 +70,5 @@
 static bootinfo_t machine_bootinfo;
 
-void arch_pre_main(void *unused, bootinfo_t *bootinfo)
+void sparc32_pre_main(void *unused, bootinfo_t *bootinfo)
 {
 	init.cnt = min3(bootinfo->cnt, TASKMAP_MAX_RECORDS, CONFIG_INIT_TASKS);
@@ -74,11 +85,5 @@
 }
 
-void arch_pre_mm_init(void)
-{
-}
-
-extern void func1(void);
-
-void arch_post_mm_init(void)
+void sparc32_post_mm_init(void)
 {
 	machine_init(&machine_bootinfo);
@@ -95,14 +100,5 @@
 }
 
-
-void arch_post_cpu_init(void)
-{
-}
-
-void arch_pre_smp_init(void)
-{
-}
-
-void arch_post_smp_init(void)
+void sparc32_post_smp_init(void)
 {
 	machine_input_init();
Index: kernel/arch/sparc32/src/start.S
===================================================================
--- kernel/arch/sparc32/src/start.S	(revision 9a08e6bddeb3cffb3e0438813da2a3084dcd33c5)
+++ kernel/arch/sparc32/src/start.S	(revision 554e70f2c9c7c45b5c4eada3d2a99c100d3ebb70)
@@ -59,5 +59,5 @@
 	
 	mov %l1, %o1
-	call arch_pre_main
+	call sparc32_pre_main
 	nop
 	
Index: kernel/arch/sparc32/src/userspace.c
===================================================================
--- kernel/arch/sparc32/src/userspace.c	(revision 9a08e6bddeb3cffb3e0438813da2a3084dcd33c5)
+++ kernel/arch/sparc32/src/userspace.c	(revision 554e70f2c9c7c45b5c4eada3d2a99c100d3ebb70)
@@ -35,5 +35,5 @@
 #include <userspace.h>
 #include <typedefs.h>
-#include <arch.h>
+#include <arch/arch.h>
 #include <arch/asm.h>
 #include <abi/proc/uarg.h>
