4 #define MTIME (*(volatile long long *)(0x02000000 + 0xbff8))
5 #define MTIMECMP ((volatile long long *)(0x02000000 + 0x4000))
7 #define csr_read(csr) \
9 register unsigned long __v; \
10 __asm__ __volatile__ ("csrr %0, " #csr \
15 typedef void* (*trap_handler_t
)(unsigned hartid
, unsigned mcause
, void *mepc
,
17 void set_trap_handler(trap_handler_t handler
);
18 void enable_timer_interrupts();