Index: arch/amd64/Makefile.inc
===================================================================
--- arch/amd64/Makefile.inc	(revision 51022e9b693b712b72c0faca8aa70dedc9d322a8)
+++ arch/amd64/Makefile.inc	(revision 544b4bf507e03a101560db34a20c2fce2e88fa94)
@@ -7,7 +7,17 @@
 LD=$(AMD64_BINUTILS_DIR)/$(AMD64_TARGET)-ld
 
-#ASFLAGS=--64
+
 
 DEFS=-DARCH=$(ARCH)
+
+ifdef SMP
+DEFS+=-D$(SMP)
+endif
+
+ifdef HT
+DEFS+=-D$(HT)
+endif
+
+
 CPPFLAGS=$(DEFS) -nostdinc -I../include
 CFLAGS=$(CPPFLAGS) -nostdlib -fno-builtin -fno-unwind-tables -Werror-implicit-function-declaration -Wmissing-prototypes -Werror -O3 -march=opteron -m64 -mcmodel=kernel -mno-red-zone
Index: arch/amd64/src/amd64.c
===================================================================
--- arch/amd64/src/amd64.c	(revision 51022e9b693b712b72c0faca8aa70dedc9d322a8)
+++ arch/amd64/src/amd64.c	(revision 544b4bf507e03a101560db34a20c2fce2e88fa94)
@@ -43,4 +43,5 @@
 #include <print.h>
 #include <arch/cpuid.h>
+#include <arch/acpi/acpi.h>
 
 void arch_pre_mm_init(void)
Index: include/mm/heap.h
===================================================================
--- include/mm/heap.h	(revision 51022e9b693b712b72c0faca8aa70dedc9d322a8)
+++ include/mm/heap.h	(revision 544b4bf507e03a101560db34a20c2fce2e88fa94)
@@ -38,5 +38,5 @@
 	struct chunk *prev;
 	__u32 size;
-	__u8 data[0];
+	__native data[0];
 };
 
Index: src/build.amd64
===================================================================
--- src/build.amd64	(revision 51022e9b693b712b72c0faca8aa70dedc9d322a8)
+++ src/build.amd64	(revision 544b4bf507e03a101560db34a20c2fce2e88fa94)
@@ -16,5 +16,5 @@
 done
 
-for a in atomic.h ega.h i8042.h i8259.h i8254.h interrupt.h bios mm/memory_init.h boot/memmap.h boot/memmapasm.h; do
+for a in atomic.h ega.h i8042.h i8259.h i8254.h interrupt.h bios mm/memory_init.h boot/memmap.h boot/memmapasm.h smp acpi; do
   if [ \! -e amd64/include/$a ]; then
     echo ln -sf `pwd`/ia32/include/$a amd64/include/$a
