Index: kernel/arch/riscv64/include/arch/asm.h
===================================================================
--- kernel/arch/riscv64/include/arch/asm.h	(revision bb3ba5137bd607b9877ff92aaf085748b2ab8fda)
+++ kernel/arch/riscv64/include/arch/asm.h	(revision 295ee02c50e19fcbbd3b498a7dca063487ab02c9)
@@ -36,10 +36,9 @@
 #define KERN_riscv64_ASM_H_
 
+#include <arch/cpu.h>
 #include <typedefs.h>
 #include <config.h>
 #include <arch/mm/asid.h>
 #include <trace.h>
-
-#define SSTATUS_SIE_MASK  0x00000002
 
 NO_TRACE static inline ipl_t interrupts_enable(void)
Index: kernel/arch/riscv64/include/arch/cpu.h
===================================================================
--- kernel/arch/riscv64/include/arch/cpu.h	(revision bb3ba5137bd607b9877ff92aaf085748b2ab8fda)
+++ kernel/arch/riscv64/include/arch/cpu.h	(revision 295ee02c50e19fcbbd3b498a7dca063487ab02c9)
@@ -36,4 +36,13 @@
 #define KERN_riscv64_CPU_H_
 
+#define SSTATUS_SIE_MASK  0x00000002
+
+#define SATP_PFN_MASK  UINT64_C(0x00000fffffffffff)
+
+#define SATP_MODE_MASK  UINT64_C(0xf000000000000000)
+#define SATP_MODE_BARE  UINT64_C(0x0000000000000000)
+#define SATP_MODE_SV39  UINT64_C(0x8000000000000000)
+#define SATP_MODE_SV48  UINT64_C(0x9000000000000000)
+
 #ifndef __ASM__
 
Index: kernel/arch/riscv64/src/boot/boot.S
===================================================================
--- kernel/arch/riscv64/src/boot/boot.S	(revision bb3ba5137bd607b9877ff92aaf085748b2ab8fda)
+++ kernel/arch/riscv64/src/boot/boot.S	(revision 295ee02c50e19fcbbd3b498a7dca063487ab02c9)
@@ -29,4 +29,5 @@
 #include <abi/asmtool.h>
 #include <arch/boot/boot.h>
+#include <arch/cpu.h>
 
 .section K_TEXT_START, "ax"
@@ -46,5 +47,5 @@
 	
 	/* Not reached */
-	/* FIXME: Disable interrupts */
+	csrci sstatus, SSTATUS_SIE_MASK
 	hlt0:
 		wfi
Index: kernel/arch/riscv64/src/mm/page.c
===================================================================
--- kernel/arch/riscv64/src/mm/page.c	(revision bb3ba5137bd607b9877ff92aaf085748b2ab8fda)
+++ kernel/arch/riscv64/src/mm/page.c	(revision 295ee02c50e19fcbbd3b498a7dca063487ab02c9)
@@ -36,4 +36,5 @@
 #include <genarch/mm/page_pt.h>
 #include <arch/mm/frame.h>
+#include <arch/cpu.h>
 #include <mm/frame.h>
 #include <mm/page.h>
@@ -47,11 +48,4 @@
 #include <print.h>
 #include <interrupt.h>
-
-#define SATP_PFN_MASK  UINT64_C(0x00000fffffffffff)
-
-#define SATP_MODE_MASK  UINT64_C(0xf000000000000000)
-#define SATP_MODE_BARE  UINT64_C(0x0000000000000000)
-#define SATP_MODE_SV39  UINT64_C(0x8000000000000000)
-#define SATP_MODE_SV48  UINT64_C(0x9000000000000000)
 
 void page_arch_init(void)
