提交 fdd541a6 编写于 作者: W William Wang

tests,plic: disable time intr to test wfi

上级 35a979a4
......@@ -8,7 +8,7 @@ static void init_machine_exception() {
asm volatile("csrw mtvec, %0" : : "r"(__am_timervec));
}
int g_config_disable_timer = 0; // dirty hack of __am_init_cte64(), to be refactored
extern void init_timer();
extern void enable_timer();
extern void init_pmp();
......@@ -52,7 +52,9 @@ void __am_init_cte64() {
init_machine_exception();
init_timer();
enable_timer();
if(!g_config_disable_timer){
enable_timer();
}
init_eip();
// enter S-mode
......
......@@ -12,6 +12,7 @@
#define REEH(h) ({ _Context *h(_Event, _Context *); seip_handler_reg(h);})
#define RTEH(h) ({ _Context *h(_Event, _Context *); stip_handler_reg(h);})
#define RCEH(h) ({ _Context *h(_Event, _Context *); secall_handler_reg(h);})
#define NOTIMEINT() ({ extern int g_config_disable_timer; g_config_disable_timer = 1;})
#define VME(f1, f2) ({ void *f1(size_t); void f2(void *); _vme_init(f1, f2); })
#define PRE_MPE(arg) ({ _mpe_setncpu(arg); })
......
......@@ -23,7 +23,7 @@ int main(const char *args) {
CASE('x', dma_test);
CASE('h', hello);
CASE('i', hello_intr, IOE, CTE(simple_trap), REEH(simple_trap), RCEH(simple_trap), RTEH(simple_trap));
CASE('e', external_intr, IOE, CTE(external_trap), REEH(external_trap), RTEH(external_trap));
CASE('e', external_intr, IOE, NOTIMEINT(), CTE(external_trap), REEH(external_trap), RTEH(external_trap));
CASE('d', devscan, IOE);
CASE('m', finalize, PRE_MPE(args[1]), MPE(mp_print));
CASE('t', rtc_test, IOE);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册