Index: kernel/arch/amd64/include/arch.h
===================================================================
--- kernel/arch/amd64/include/arch.h	(revision c22e964a598c0c20654391f6a11e7333830cbf37)
+++ kernel/arch/amd64/include/arch.h	(revision 9cd98796ce2b79a13dae8d49fe37ce6be500f3b8)
@@ -36,4 +36,8 @@
 #define KERN_amd64_ARCH_H_
 
+#include <genarch/multiboot/multiboot.h>
+
+extern void arch_pre_main(uint32_t, const multiboot_info_t *);
+
 #endif
 
Index: kernel/arch/amd64/include/boot/boot.h
===================================================================
--- kernel/arch/amd64/include/boot/boot.h	(revision c22e964a598c0c20654391f6a11e7333830cbf37)
+++ kernel/arch/amd64/include/boot/boot.h	(revision 9cd98796ce2b79a13dae8d49fe37ce6be500f3b8)
@@ -43,5 +43,14 @@
 #define MULTIBOOT_HEADER_FLAGS	0x00010003
 
-#define MULTIBOOT_LOADER_MAGIC	0x2BADB002
+#ifndef __ASM__
+
+#ifdef CONFIG_SMP
+
+/* This is only a symbol so the type is dummy. Obtain the value using &. */
+extern int _hardcoded_unmapped_size;
+
+#endif /* CONFIG_SMP */
+
+#endif /* __ASM__ */
 
 #endif
