Index: kernel/arch/arm64/include/arch/asm.h
===================================================================
--- kernel/arch/arm64/include/arch/asm.h	(revision 0366d09d1929d3cd61f8f612f9ea15794bc5650c)
+++ kernel/arch/arm64/include/arch/asm.h	(revision c680333f74d2b09e6fbd8909bcc815a04d04ea8e)
@@ -52,4 +52,16 @@
 {
 	asm volatile ("wfe");
+}
+
+/** Enables interrupts and blocks until an interrupt arrives,
+ * atomically if possible on target architecture.
+ * Disables interrupts again before returning to caller.
+ */
+_NO_TRACE static inline void cpu_interruptible_sleep(void)
+{
+	// FIXME: do this atomically
+	interrupts_enable();
+	cpu_sleep();
+	interrupts_disable();
 }
 
