Index: kernel/arch/amd64/src/amd64.c
===================================================================
--- kernel/arch/amd64/src/amd64.c	(revision 3da166f05b0e0513fe18f82b34f75ef99bef955a)
+++ kernel/arch/amd64/src/amd64.c	(revision a420203e10bd60efe9f0855ec6ec46a9bf0fac5f)
@@ -170,5 +170,5 @@
 }
 
-void arch_post_cpu_init()
+void arch_post_cpu_init(void)
 {
 #ifdef CONFIG_SMP
Index: kernel/arch/amd64/src/cpu/cpu.c
===================================================================
--- kernel/arch/amd64/src/cpu/cpu.c	(revision 3da166f05b0e0513fe18f82b34f75ef99bef955a)
+++ kernel/arch/amd64/src/cpu/cpu.c	(revision a420203e10bd60efe9f0855ec6ec46a9bf0fac5f)
@@ -158,7 +158,7 @@
 void cpu_print_report(cpu_t* m)
 {
-	printf("cpu%d: (%s family=%d model=%d stepping=%d) %dMHz\n",
+	printf("cpu%d: (%s family=%d model=%d stepping=%d apicid=%u) %dMHz\n",
 	    m->id, vendor_str[m->arch.vendor], m->arch.family, m->arch.model,
-	    m->arch.stepping, m->frequency_mhz);
+	    m->arch.stepping, m->arch.id, m->frequency_mhz);
 }
 
Index: kernel/arch/amd64/src/interrupt.c
===================================================================
--- kernel/arch/amd64/src/interrupt.c	(revision 3da166f05b0e0513fe18f82b34f75ef99bef955a)
+++ kernel/arch/amd64/src/interrupt.c	(revision a420203e10bd60efe9f0855ec6ec46a9bf0fac5f)
@@ -55,4 +55,5 @@
 #include <symtab.h>
 #include <stacktrace.h>
+#include <smp/smp_call.h>
 
 /*
@@ -161,4 +162,10 @@
 	trap_virtual_eoi();
 	tlb_shootdown_ipi_recv();
+}
+
+static void arch_smp_call_ipi_recv(unsigned int n, istate_t *istate)
+{
+	trap_virtual_eoi();
+	smp_call_ipi_recv();
 }
 #endif
@@ -224,4 +231,6 @@
 	exc_register(VECTOR_TLB_SHOOTDOWN_IPI, "tlb_shootdown", true,
 	    (iroutine_t) tlb_shootdown_ipi);
+	exc_register(VECTOR_SMP_CALL_IPI, "smp_call", true, 
+		(iroutine_t) arch_smp_call_ipi_recv);
 #endif
 }
Index: kernel/arch/amd64/src/smp/smp_call.c
===================================================================
--- kernel/arch/amd64/src/smp/smp_call.c	(revision a420203e10bd60efe9f0855ec6ec46a9bf0fac5f)
+++ kernel/arch/amd64/src/smp/smp_call.c	(revision a420203e10bd60efe9f0855ec6ec46a9bf0fac5f)
@@ -0,0 +1,1 @@
+../../../ia32/src/smp/smp_call.c
