Index: kernel/arch/riscv64/src/asm.S
===================================================================
--- kernel/arch/riscv64/src/asm.S	(revision ccc362a131dc8d066e7c7037b3d91380306905a1)
+++ kernel/arch/riscv64/src/asm.S	(revision b93ea46a57ff6d614900fa458bc55289fa9dbf47)
@@ -31,5 +31,13 @@
 .text
 
-SYMBOL(kernel_image_start)
-	// FIXME
-	nop
+FUNCTION_BEGIN(asm_delay_loop)
+	ret
+FUNCTION_END(asm_delay_loop)
+
+FUNCTION_BEGIN(early_putchar)
+	ret
+FUNCTION_END(early_putchar)
+
+FUNCTION_BEGIN(cpu_halt)
+	j cpu_halt
+FUNCTION_END(cpu_halt)
Index: kernel/arch/riscv64/src/riscv64.c
===================================================================
--- kernel/arch/riscv64/src/riscv64.c	(revision ccc362a131dc8d066e7c7037b3d91380306905a1)
+++ kernel/arch/riscv64/src/riscv64.c	(revision b93ea46a57ff6d614900fa458bc55289fa9dbf47)
@@ -35,6 +35,8 @@
 #include <arch.h>
 #include <stddef.h>
+#include <arch/arch.h>
 #include <arch/interrupt.h>
 #include <arch/asm.h>
+#include <arch/drivers/ucb.h>
 
 #include <func.h>
