Index: kernel/arch/arm32/Makefile.inc
===================================================================
--- kernel/arch/arm32/Makefile.inc	(revision 88d653c24fab616854ccd454a1780ee0b5691d13)
+++ kernel/arch/arm32/Makefile.inc	(revision 646b9960f45edec2b83f4adb3bc5a501c2b28e9b)
@@ -61,11 +61,15 @@
 	arch/$(KARCH)/src/mm/page.c \
 	arch/$(KARCH)/src/mm/tlb.c \
-	arch/$(KARCH)/src/mm/page_fault.c 
-ifeq ($(MACHINE), testarm)
-        ARCH_SOURCES += arch/$(KARCH)/src/mach/testarm/testarm.c
-else ifeq ($(MACHINE), integratorcp)
-        ARCH_SOURCES += arch/$(KARCH)/src/mach/integratorcp/integratorcp.c
+	arch/$(KARCH)/src/mm/page_fault.c
+
+ifeq ($(MACHINE),testarm)
+	ARCH_SOURCES += arch/$(KARCH)/src/mach/testarm/testarm.c
 endif
-ifeq ($(CONFIG_PL050), y)
+
+ifeq ($(MACHINE),integratorcp)
+	ARCH_SOURCES += arch/$(KARCH)/src/mach/integratorcp/integratorcp.c
+endif
+
+ifeq ($(CONFIG_PL050),y)
 	ARCH_SOURCES += genarch/src/drivers/pl050/pl050.c
 endif
Index: kernel/arch/arm32/include/mach/integratorcp/integratorcp.h
===================================================================
--- kernel/arch/arm32/include/mach/integratorcp/integratorcp.h	(revision 88d653c24fab616854ccd454a1780ee0b5691d13)
+++ kernel/arch/arm32/include/mach/integratorcp/integratorcp.h	(revision 646b9960f45edec2b83f4adb3bc5a501c2b28e9b)
@@ -36,6 +36,6 @@
  */
 
-#ifndef KERN_arm32_ICP_H_
-#define KERN_arm32_ICP_H_
+#ifndef KERN_arm32_MACHINE_H_
+#define KERN_arm32_MACHINE_H_
 
 #include <arch/machine_func.h>
Index: kernel/arch/arm32/include/mach/testarm/testarm.h
===================================================================
--- kernel/arch/arm32/include/mach/testarm/testarm.h	(revision 88d653c24fab616854ccd454a1780ee0b5691d13)
+++ kernel/arch/arm32/include/mach/testarm/testarm.h	(revision 646b9960f45edec2b83f4adb3bc5a501c2b28e9b)
@@ -37,6 +37,6 @@
  */
 
-#ifndef KERN_arm32_GXEMUL_H_
-#define KERN_arm32_GXEMUL_H_
+#ifndef KERN_arm32_MACHINE_H_
+#define KERN_arm32_MACHINE_H_
 
 #include <arch/machine_func.h>
Index: kernel/arch/arm32/src/arm32.c
===================================================================
--- kernel/arch/arm32/src/arm32.c	(revision 88d653c24fab616854ccd454a1780ee0b5691d13)
+++ kernel/arch/arm32/src/arm32.c	(revision 646b9960f45edec2b83f4adb3bc5a501c2b28e9b)
@@ -41,5 +41,4 @@
 #include <console/console.h>
 #include <ddi/irq.h>
-#include <arch/machine.h>
 #include <print.h>
 #include <config.h>
@@ -50,4 +49,13 @@
 #include <string.h>
 
+#ifdef MACHINE_testarm
+	#include <arch/mach/testarm/testarm.h>
+#endif
+
+#ifdef MACHINE_integratorcp
+	#include <arch/mach/integratorcp/integratorcp.h>
+#endif
+
+
 /** Performs arm32-specific initialization before main_bsp() is called. */
 void arch_pre_main(void *entry __attribute__((unused)), bootinfo_t *bootinfo)
Index: kernel/arch/arm32/src/exception.c
===================================================================
--- kernel/arch/arm32/src/exception.c	(revision 88d653c24fab616854ccd454a1780ee0b5691d13)
+++ kernel/arch/arm32/src/exception.c	(revision 646b9960f45edec2b83f4adb3bc5a501c2b28e9b)
@@ -40,7 +40,14 @@
 #include <arch/mm/page_fault.h>
 #include <arch/barrier.h>
-#include <arch/machine.h>
 #include <print.h>
 #include <syscall/syscall.h>
+
+#ifdef MACHINE_testarm
+	#include <arch/mach/testarm/testarm.h>
+#endif
+
+#ifdef MACHINE_integratorcp
+	#include <arch/mach/integratorcp/integratorcp.h>
+#endif
 
 /** Offset used in calculation of exception handler's relative address.
Index: kernel/arch/arm32/src/interrupt.c
===================================================================
--- kernel/arch/arm32/src/interrupt.c	(revision 88d653c24fab616854ccd454a1780ee0b5691d13)
+++ kernel/arch/arm32/src/interrupt.c	(revision 646b9960f45edec2b83f4adb3bc5a501c2b28e9b)
@@ -36,8 +36,15 @@
 #include <arch/asm.h>
 #include <arch/regutils.h>
-#include <arch/machine.h>
 #include <ddi/irq.h>
 #include <ddi/device.h>
 #include <interrupt.h>
+
+#ifdef MACHINE_testarm
+	#include <arch/mach/testarm/testarm.h>
+#endif
+
+#ifdef MACHINE_integratorcp
+	#include <arch/mach/integratorcp/integratorcp.h>
+#endif
 
 /** Initial size of a table holding interrupt handlers. */
@@ -97,5 +104,4 @@
 	irq_init(IRQ_COUNT, IRQ_COUNT);
 	machine_timer_irq_start();
-	
 }
 
Index: kernel/arch/arm32/src/mm/frame.c
===================================================================
--- kernel/arch/arm32/src/mm/frame.c	(revision 88d653c24fab616854ccd454a1780ee0b5691d13)
+++ kernel/arch/arm32/src/mm/frame.c	(revision 646b9960f45edec2b83f4adb3bc5a501c2b28e9b)
@@ -36,6 +36,13 @@
 #include <mm/frame.h>
 #include <arch/mm/frame.h>
-#include <arch/machine.h>
 #include <config.h>
+
+#ifdef MACHINE_testarm
+	#include <arch/mach/testarm/testarm.h>
+#endif
+
+#ifdef MACHINE_integratorcp
+	#include <arch/mach/integratorcp/integratorcp.h>
+#endif
 
 /** Address of the last frame in the memory. */
