Index: arch/ia32/src/acpi/madt.c
===================================================================
--- arch/ia32/src/acpi/madt.c	(revision 0970f437341b562c11ad934c2a9f026b55262587)
+++ arch/ia32/src/acpi/madt.c	(revision 7d3653056624a98a05783eeac898697db6005f09)
@@ -33,5 +33,4 @@
 #include <arch/smp/apic.h>
 #include <arch/smp/smp.h>
-#include <mm/page.h>
 #include <panic.h>
 #include <debug.h>
@@ -112,5 +111,5 @@
 	struct madt_apic_header *end = (struct madt_apic_header *) (((__u8 *) acpi_madt) + acpi_madt->header.length);
 	struct madt_apic_header *h = &acpi_madt->apic_header[0];
-	__u8 prev_type = 0; /* used to detect incosecutive entries */
+	__u8 prev_type = 0; /* used to detect inconsecutive entries */
 
 
@@ -178,5 +177,4 @@
 		madt_io_apic_entries = ioa;
 		io_apic = (__u32 *) ioa->io_apic_address;
-		map_page_to_frame((__address) io_apic, (__address) io_apic, PAGE_NOT_CACHEABLE, 0);
 	}
 	else {
Index: arch/ia32/src/smp/mps.c
===================================================================
--- arch/ia32/src/smp/mps.c	(revision 0970f437341b562c11ad934c2a9f026b55262587)
+++ arch/ia32/src/smp/mps.c	(revision 7d3653056624a98a05783eeac898697db6005f09)
@@ -38,5 +38,4 @@
 #include <arch/types.h>
 #include <typedefs.h>
-#include <mm/page.h>
 #include <cpu.h>
 #include <arch/asm.h>
@@ -203,14 +202,4 @@
 		config.cpu_count = configure_via_default(fs->config_type);
 
-	if (config.cpu_count > 1) {
-		map_page_to_frame((__address) l_apic, (__address) l_apic, PAGE_NOT_CACHEABLE, 0);
- 	}		
-	
-	
-	/*
-	 * Must be initialized outside the kmp thread, since it is waited
-	 * on before the kmp thread is created.
-	 */
-	waitq_initialize(&kmp_completion_wq);
 	return;
 }
@@ -344,6 +333,4 @@
 	}
 	
-	map_page_to_frame((__address) ioa->io_apic, (__address) ioa->io_apic, PAGE_NOT_CACHEABLE, 0);
-	
 	io_apic = ioa->io_apic;
 }
Index: arch/ia32/src/smp/smp.c
===================================================================
--- arch/ia32/src/smp/smp.c	(revision 0970f437341b562c11ad934c2a9f026b55262587)
+++ arch/ia32/src/smp/smp.c	(revision 7d3653056624a98a05783eeac898697db6005f09)
@@ -58,4 +58,16 @@
 		ops = &mps_config_operations;
 	}
+
+	if (config.cpu_count > 1) {
+		map_page_to_frame((__address) l_apic, (__address) l_apic, PAGE_NOT_CACHEABLE, 0);
+		map_page_to_frame((__address) io_apic, (__address) io_apic, PAGE_NOT_CACHEABLE, 0);
+        }
+
+        /* 
+         * Must be initialized outside the kmp thread, since it is waited
+         * on before the kmp thread is created.
+         */
+        waitq_initialize(&kmp_completion_wq);
+
 }
 
