--- /dev/null
+#ifndef INIT_H
+#define INIT_H
+
+#define MTIME (*(volatile long long *)(0x02000000 + 0xbff8))
+#define MTIMECMP ((volatile long long *)(0x02000000 + 0x4000))
+
+#define csr_read(csr) \
+({ \
+ register unsigned long __v; \
+ __asm__ __volatile__ ("csrr %0, " #csr \
+ : "=r" (__v)); \
+ __v; \
+})
+
+typedef void* (*trap_handler_t)(unsigned hartid, unsigned mcause, void *mepc,
+ void *sp);
+void set_trap_handler(trap_handler_t handler);
+void enable_timer_interrupts();
+
+#endif