Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenXiangShan
nexus-am
提交
fdd541a6
N
nexus-am
项目概览
OpenXiangShan
/
nexus-am
大约 1 年 前同步成功
通知
2
Star
21
Fork
25
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
N
nexus-am
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
fdd541a6
编写于
5月 14, 2022
作者:
W
William Wang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
tests,plic: disable time intr to test wfi
上级
35a979a4
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
6 addition
and
3 deletion
+6
-3
am/src/nemu/isa/riscv/cte64.c
am/src/nemu/isa/riscv/cte64.c
+4
-2
tests/amtest/include/amtest.h
tests/amtest/include/amtest.h
+1
-0
tests/amtest/src/main.c
tests/amtest/src/main.c
+1
-1
未找到文件。
am/src/nemu/isa/riscv/cte64.c
浏览文件 @
fdd541a6
...
...
@@ -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
...
...
tests/amtest/include/amtest.h
浏览文件 @
fdd541a6
...
...
@@ -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); })
...
...
tests/amtest/src/main.c
浏览文件 @
fdd541a6
...
...
@@ -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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录