Index: kernel/arch/amd64/src/pm.c
===================================================================
--- kernel/arch/amd64/src/pm.c	(revision 7cb567cd74caf371a5b1b053095a12b9bd1704a6)
+++ kernel/arch/amd64/src/pm.c	(revision d0b1443fbd2d61bcae0c7f5c106302bbcd640792)
@@ -34,4 +34,5 @@
  */
 
+#include <arch.h>
 #include <arch/pm.h>
 #include <arch/asm.h>
@@ -228,4 +229,22 @@
 }
 
+/* Reboot the machine by initiating
+ * a triple fault
+ */
+void arch_reboot(void)
+{
+	preemption_disable();
+	ipl_t ipl = interrupts_disable();
+	
+	memsetb((uintptr_t) idt, sizeof(idt), 0);
+	idtr_load(&idtr);
+	
+	interrupts_restore(ipl);
+	asm volatile (
+		"int $0x03\n"
+		"hlt\n"
+	);
+}
+
 /** @}
  */
